|
38 | 38 | isArgs |
39 | 39 | isFile, isDirectory |
40 | 40 | isStringMatchingAnyPattern |
| 41 | + loadImage, getImageDimensions |
41 | 42 | markdownToHtml |
42 | 43 | newDataFolderReader, isDataFolderReader, preloadData |
43 | 44 | newPage |
@@ -1558,12 +1559,6 @@ end |
1558 | 1559 |
|
1559 | 1560 | -- thumbnailInfo = createThumbnail( imagePathRelative, thumbWidth [, thumbHeight, errorLevel=1 ) |
1560 | 1561 | do |
1561 | | - local imageLoaders = { |
1562 | | - ["png"] = gd.createFromPng, |
1563 | | - ["jpg"] = gd.createFromJpeg, |
1564 | | - ["jpeg"] = gd.createFromJpeg, |
1565 | | - ["gif"] = gd.createFromGif, |
1566 | | - } |
1567 | 1562 | local imageCreatorMethods = { |
1568 | 1563 | ["png"] = "pngStr", |
1569 | 1564 | ["jpg"] = "jpegStr", |
@@ -1592,16 +1587,11 @@ do |
1592 | 1587 | local folder = pathImageRel:sub(1, #pathImageRel-#filename) -- Ending in "/". |
1593 | 1588 | local pathImage = DIR_CONTENT.."/"..pathImageRel |
1594 | 1589 |
|
1595 | | - if not isFile(pathImage) then |
1596 | | - errorf(errLevel, "File does not exist: %s", pathImage) |
| 1590 | + local image, err = loadImage(pathImageRel) |
| 1591 | + if not image then |
| 1592 | + error(err, errLevel) |
1597 | 1593 | end |
1598 | 1594 |
|
1599 | | - local loadImage = imageLoaders[extLower] |
1600 | | - or errorf(errLevel, "Unknown image file format '%'.", extLower) |
1601 | | - |
1602 | | - local image = loadImage(pathImage) |
1603 | | - or errorf(errLevel, "Could not load image '%s'. Maybe the image is corrupted?", pathImage) |
1604 | | - |
1605 | 1595 | local imageW, imageH = image:sizeXY() |
1606 | 1596 | assert(imageW > 0) |
1607 | 1597 | assert(imageH > 0) |
@@ -2218,3 +2208,43 @@ function sort(t, ...) |
2218 | 2208 | end |
2219 | 2209 |
|
2220 | 2210 |
|
| 2211 | + |
| 2212 | +do |
| 2213 | + local imageLoaders = { |
| 2214 | + ["png"] = gd.createFromPng, |
| 2215 | + ["jpg"] = gd.createFromJpeg, |
| 2216 | + ["jpeg"] = gd.createFromJpeg, |
| 2217 | + ["gif"] = gd.createFromGif, |
| 2218 | + } |
| 2219 | + |
| 2220 | + function loadImage(pathImageRel) |
| 2221 | + local filename = getFilename(pathImageRel) |
| 2222 | + local extLower = getExtension(filename):lower() |
| 2223 | + local pathImage = DIR_CONTENT.."/"..pathImageRel |
| 2224 | + |
| 2225 | + if not isFile(pathImage) then |
| 2226 | + return F("File does not exist: %s", pathImage) |
| 2227 | + end |
| 2228 | + |
| 2229 | + local imageLoader = imageLoaders[extLower] |
| 2230 | + if not imageLoader then |
| 2231 | + return F("Unknown image file format '%'.", extLower) |
| 2232 | + end |
| 2233 | + |
| 2234 | + local image = imageLoader(pathImage) |
| 2235 | + if not image then |
| 2236 | + return F("Could not load image '%s'. Maybe the image is corrupted?", pathImage) |
| 2237 | + end |
| 2238 | + |
| 2239 | + return image |
| 2240 | + end |
| 2241 | +end |
| 2242 | + |
| 2243 | +function getImageDimensions(pathImageRel) |
| 2244 | + local image, err = loadImage(pathImageRel) |
| 2245 | + if not image then return nil, err end |
| 2246 | + |
| 2247 | + return image:sizeXY() |
| 2248 | +end |
| 2249 | + |
| 2250 | + |
0 commit comments