Revision: 1494 http://openutils.svn.sourceforge.net/openutils/?rev=1494&view=rev Author: diego_schivo Date: 2009-10-19 15:29:31 +0000 (Mon, 19 Oct 2009) Log Message: ----------- fix resizing not performed when requested dimension ratio (oDelta) exactly equals the original one (delta); original image returned only when resized and original dimensions are the same Modified Paths: -------------- trunk/openutils-mgnlmedia/src/main/java/net/sourceforge/openutils/mgnlmedia/media/processors/BaseImageResolutionProcessor.java Modified: trunk/openutils-mgnlmedia/src/main/java/net/sourceforge/openutils/mgnlmedia/media/processors/BaseImageResolutionProcessor.java =================================================================== --- trunk/openutils-mgnlmedia/src/main/java/net/sourceforge/openutils/mgnlmedia/media/processors/BaseImageResolutionProcessor.java 2009-10-16 09:53:08 UTC (rev 1493) +++ trunk/openutils-mgnlmedia/src/main/java/net/sourceforge/openutils/mgnlmedia/media/processors/BaseImageResolutionProcessor.java 2009-10-19 15:29:31 UTC (rev 1494) @@ -123,26 +123,30 @@ */ public BufferedImage fill(BufferedImage original, int x, int y, boolean cropCentered) { - float oX = original.getWidth(); - float oY = original.getHeight(); + int oWidth = original.getWidth(); + int oHeight = original.getHeight(); + if (x == oWidth && y == oHeight) + { + // same size + return original; + } + + float oX = oWidth; + float oY = oHeight; float oDelta = oX / oY; float delta = ((float) x) / ((float) y); - if (oDelta > delta) + if (oDelta >= delta) { int newX = (int) (y * oX / oY); BufferedImage filled = ImageUtils.resizeImage(original, newX, y); return cropCentered ? ImageUtils.cropImage(filled, (newX - x) / 2, 0, x, y) : filled; } - else if (oDelta < delta) + else // if (oDelta < delta) { int newY = (int) (x * oY / oX); BufferedImage filled = ImageUtils.resizeImage(original, x, newY); return cropCentered ? ImageUtils.cropImage(filled, 0, (newY - y) / 2, x, y) : filled; } - else - { - return original; - } } } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |