Page 1 of 1

"convert -resize @area" creates image with incorrect size

Posted: 2012-01-10T07:25:03-07:00
by hniksic
I want to resize a number of images to the resolution of 2200x1650 or 1650x2200, depending on whether the image is 4:3 or 3:4 (all source images are in one of those aspects). I have tried a number of geometry specifications and found that the best way to achieve this is to specify the pixel count, i.e. 3630000 (2200*1650) pixels.

However, specifying pixel count of 3630000 sometimes creates a 2200x1649 image. An example is shown below:

Code: Select all

$ convert -size 2304x3072 xc:white x.jpg
$ identify x.jpg
x.jpg JPEG 2304x3072 2304x3072+0+0 8-bit PseudoClass 256c 27.8KB 0.000u 0:00.000
$ convert -resize @3630000 x.jpg y.jpg
$ identify y.jpg
y.jpg JPEG 1649x2200 1649x2200+0+0 8-bit PseudoClass 256c 14.4KB 0.000u 0:00.000
I would expect a 1650x2200 image to be created. (Note that the source image has an exact 3:4 aspect ratio.) The bug occurs on 64-bit builds of ImageMagick, but apparently not on 32-bit ones.

A workaround is to specify one pixel more, @3630001, which creates the correct 1650x2200 image.

Version of ImageMagick used for testing is:

Code: Select all

$ convert --version
Version: ImageMagick 6.6.2-6 2011-03-16 Q16 http://www.imagemagick.org
Copyright: Copyright (C) 1999-2010 ImageMagick Studio LLC
Features: OpenMP
In addition to this version, I have also verified that the bug occurs in the newer ImageMagick 6.7.4-0 2011-12-13 on 64-bit ArchLinux.

Re: "convert -resize @area" creates image with incorrect siz

Posted: 2012-01-10T08:46:15-07:00
by magick
We can reproduce the problem you reported and have a patch. Look for it in ImageMagick 6.7.4-5 Beta by sometime tomorrow. Thanks.

Re: "convert -resize @area" creates image with incorrect siz

Posted: 2012-01-10T09:19:37-07:00
by glennrp
magick wrote:We can reproduce the problem you reported and have a patch. Look for it in ImageMagick 6.7.4-5 Beta by sometime tomorrow. Thanks.
Also, -resize 2200x2200 works for me using the current version of IM, and will probably give a more satisfactory result if you happen to encounter an image that is not exactly 3/4 or 4/3.