X-Git-Url: https://gitweb.fperrin.net/?p=GpsPrune.git;a=blobdiff_plain;f=tim%2Fprune%2Fgui%2FImageUtils.java;h=d152ecca5b1c78549d6fcb7ea0f65878984a5436;hp=3fa7a1a8fdb2ca822f4a7e226d7459f3b80eca5c;hb=4d5796d02a15808311c09448d79e6e7d1de9d636;hpb=f1b92378a792131ac8fb33a869405851d5b2d1f7 diff --git a/tim/prune/gui/ImageUtils.java b/tim/prune/gui/ImageUtils.java index 3fa7a1a..d152ecc 100644 --- a/tim/prune/gui/ImageUtils.java +++ b/tim/prune/gui/ImageUtils.java @@ -70,15 +70,19 @@ public abstract class ImageUtils */ public static Dimension getThumbnailSize(int inOrigWidth, int inOrigHeight, int inMaxWidth, int inMaxHeight) { - assert(inMaxWidth > 0 && inMaxHeight > 0); + if (inMaxWidth <= 0 || inMaxHeight <= 0) {return new Dimension(1, 1);} // work out maximum zoom ratio available so that thumbnail isn't too big double xZoom = inMaxWidth * 1.0 / inOrigWidth; double yZoom = inMaxHeight * 1.0 / inOrigHeight; double zoom = (xZoom > yZoom?yZoom:xZoom); // Don't make thumbnail bigger than picture if (zoom > 1.0) {return new Dimension(inOrigWidth, inOrigHeight);} + // calculate new width and height - return new Dimension ((int) (zoom * inOrigWidth), (int) (zoom * inOrigHeight)); + final int xSize = (int) (zoom * inOrigWidth); + final int ySize = (int) (zoom * inOrigHeight); + if (xSize <= 0 || ySize <= 0) {return new Dimension(1, 1);} + return new Dimension (xSize, ySize); }