Fixed scaling resize (now aspect ratio is preserved based on height, not
width). Renamed parameters to indicate what (width/height) is used.
This commit is contained in:
parent
2c362c63d1
commit
97035637e0
|
@ -119,7 +119,7 @@ class ImageResizeUtil {
|
||||||
|
|
||||||
@SuppressWarnings("Duplicates")
|
@SuppressWarnings("Duplicates")
|
||||||
private static synchronized
|
private static synchronized
|
||||||
File resizeAndCache(final int size, InputStream imageStream) {
|
File resizeAndCache(final int height, InputStream imageStream) {
|
||||||
if (imageStream == null) {
|
if (imageStream == null) {
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
@ -133,7 +133,7 @@ class ImageResizeUtil {
|
||||||
imageStream.mark(0);
|
imageStream.mark(0);
|
||||||
|
|
||||||
// check if we already have this file information saved to disk, based on size + hash of data
|
// check if we already have this file information saved to disk, based on size + hash of data
|
||||||
cacheName = size + "_" + CacheUtil.createNameAsHash(imageStream);
|
cacheName = height + "_" + CacheUtil.createNameAsHash(imageStream);
|
||||||
((ByteArrayInputStream) imageStream).reset(); // casting to avoid unnecessary try/catch for IOException
|
((ByteArrayInputStream) imageStream).reset(); // casting to avoid unnecessary try/catch for IOException
|
||||||
|
|
||||||
|
|
||||||
|
@ -147,14 +147,14 @@ class ImageResizeUtil {
|
||||||
imageStream.mark(0);
|
imageStream.mark(0);
|
||||||
Dimension imageSize = ImageUtil.getImageSize(imageStream);
|
Dimension imageSize = ImageUtil.getImageSize(imageStream);
|
||||||
//noinspection NumericCastThatLosesPrecision
|
//noinspection NumericCastThatLosesPrecision
|
||||||
if (size == ((int) imageSize.getWidth()) && size == (int) imageSize.getHeight()) {
|
if (height == (int) imageSize.getHeight()) {
|
||||||
// we can reuse this URL (it's the correct size).
|
// we can reuse this URL (it's the correct size).
|
||||||
needsResize = false;
|
needsResize = false;
|
||||||
}
|
}
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
// have to serve up the error image instead.
|
// have to serve up the error image instead.
|
||||||
SystemTray.logger.error("Error getting image size. Using error icon instead", e);
|
SystemTray.logger.error("Error getting image size. Using error icon instead", e);
|
||||||
return getErrorImage(size);
|
return getErrorImage(height);
|
||||||
} finally {
|
} finally {
|
||||||
((ByteArrayInputStream) imageStream).reset(); // casting to avoid unnecessary try/catch for IOException
|
((ByteArrayInputStream) imageStream).reset(); // casting to avoid unnecessary try/catch for IOException
|
||||||
}
|
}
|
||||||
|
@ -164,7 +164,7 @@ class ImageResizeUtil {
|
||||||
if (needsResize) {
|
if (needsResize) {
|
||||||
// we have to hop through hoops.
|
// we have to hop through hoops.
|
||||||
try {
|
try {
|
||||||
File resizedFile = resizeFileNoCheck(size, imageStream);
|
File resizedFile = resizeFileNoCheck(height, imageStream);
|
||||||
|
|
||||||
// now cache that file
|
// now cache that file
|
||||||
try {
|
try {
|
||||||
|
@ -172,13 +172,13 @@ class ImageResizeUtil {
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
// have to serve up the error image instead.
|
// have to serve up the error image instead.
|
||||||
SystemTray.logger.error("Error caching image. Using error icon instead", e);
|
SystemTray.logger.error("Error caching image. Using error icon instead", e);
|
||||||
return getErrorImage(size);
|
return getErrorImage(height);
|
||||||
}
|
}
|
||||||
|
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
// have to serve up the error image instead.
|
// have to serve up the error image instead.
|
||||||
SystemTray.logger.error("Error resizing image. Using error icon instead", e);
|
SystemTray.logger.error("Error resizing image. Using error icon instead", e);
|
||||||
return getErrorImage(size);
|
return getErrorImage(height);
|
||||||
}
|
}
|
||||||
|
|
||||||
} else {
|
} else {
|
||||||
|
@ -188,7 +188,7 @@ class ImageResizeUtil {
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
// have to serve up the error image instead.
|
// have to serve up the error image instead.
|
||||||
SystemTray.logger.error("Error caching image. Using error icon instead", e);
|
SystemTray.logger.error("Error caching image. Using error icon instead", e);
|
||||||
return getErrorImage(size);
|
return getErrorImage(height);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -222,9 +222,9 @@ class ImageResizeUtil {
|
||||||
File newFile = CacheUtil.create("temp_resize.png");
|
File newFile = CacheUtil.create("temp_resize.png");
|
||||||
Image image;
|
Image image;
|
||||||
|
|
||||||
// resize the image, keep aspect
|
// resize the image based on height, keep aspect ratio
|
||||||
image = ImageUtil.getImageImmediate(ImageIO.read(inputStream));
|
image = ImageUtil.getImageImmediate(ImageIO.read(inputStream));
|
||||||
image = image.getScaledInstance(size, -1, Image.SCALE_SMOOTH);
|
image = image.getScaledInstance(-1, size, Image.SCALE_SMOOTH);
|
||||||
|
|
||||||
// if it's already there, we have to delete it
|
// if it's already there, we have to delete it
|
||||||
newFile.delete();
|
newFile.delete();
|
||||||
|
|
Loading…
Reference in New Issue
Block a user