X-Git-Url: http://www2.svjatoslav.eu/gitweb/?a=blobdiff_plain;f=src%2Fmain%2Fjava%2Feu%2Fsvjatoslav%2Fmeviz%2Fhtmlindexer%2Fmetadata%2FfileTypes%2FPicture.java;h=274b8ca07f2d3db57fad38dfdf8fcbbb3715291d;hb=4b74c2be1dd6104f3a4dd50d29ece78857ada3fa;hp=9af52dfaead39c7c11d6cc6560d94b57128080cd;hpb=99bc9002a93c8ab224934032a1a5fe0c00d5de96;p=meviz.git diff --git a/src/main/java/eu/svjatoslav/meviz/htmlindexer/metadata/fileTypes/Picture.java b/src/main/java/eu/svjatoslav/meviz/htmlindexer/metadata/fileTypes/Picture.java index 9af52df..274b8ca 100755 --- a/src/main/java/eu/svjatoslav/meviz/htmlindexer/metadata/fileTypes/Picture.java +++ b/src/main/java/eu/svjatoslav/meviz/htmlindexer/metadata/fileTypes/Picture.java @@ -32,6 +32,15 @@ import eu.svjatoslav.meviz.htmlindexer.metadata.Dimension; public class Picture extends AbstractFile { + private static final long serialVersionUID = -4156533490858298387L; + + private static void ensureNonzeroImageArea(final java.awt.Dimension result) { + if (result.width < 1) + result.width = 1; + if (result.height < 1) + result.height = 1; + } + /** * Actual returned target thumbnail size will be adjusted from desired one * by attempting to generate as large as possible thumbnail, while not @@ -53,6 +62,8 @@ public class Picture extends AbstractFile { desiredTargetDimension.width, (int) (desiredTargetDimension.width / inputImageWidthToHeightRatio)); + ensureNonzeroImageArea(result); + return result; } else { @@ -60,6 +71,8 @@ public class Picture extends AbstractFile { (int) (desiredTargetDimension.height * inputImageWidthToHeightRatio), desiredTargetDimension.height); + ensureNonzeroImageArea(result); + return result; } } @@ -122,19 +135,16 @@ public class Picture extends AbstractFile { public static Image scaleImage(final Image srcImage, final int width, final int height) { - ImageFilter filter; - filter = new java.awt.image.AreaAveragingScaleFilter(width, height); + final ImageFilter filter = new java.awt.image.AreaAveragingScaleFilter( + width, height); final ImageProducer prod = new FilteredImageSource( srcImage.getSource(), filter); final Image newImage = Toolkit.getDefaultToolkit().createImage(prod); - final ImageIcon imageIcon = new ImageIcon(newImage); - return imageIcon.getImage(); - } - - private static final long serialVersionUID = -4156533490858298387L;; + return new ImageIcon(newImage).getImage(); + }; /** * Picture dimensions.