[Pkg-gmagick-im-team] Bug#674718: imagemagick bug

Bastien ROUCARIES roucaries.bastien+imagemagick at gmail.com
Sun Jul 22 22:07:49 UTC 2012


tags 674718 + unreproducible
thanks

Could you retry please ?

Thanks

On Mon, Jun 4, 2012 at 9:07 AM, Vincent Fourmond <fourmond at gmail.com> wrote:
>   Hello,
>
> On Sun, Jun 3, 2012 at 11:02 PM, Andrew Deason <adeason at dson.org> wrote:
>>>   The thing is that, if I understand correctly, when you're using
>>> -resize 217x159!, you resize the first layer to the desired size (ie
>>> you multiply its size by a very large factor), but resize the other
>>> ones to scale too (ie the second image, of size 217x159 gets scaled to
>>> about the square of that). With -flatten, you flatten the selected
>>> frames on the canvas, which happen to be the largest image (ie this
>>> 217x159 squared). This is the expected behaviour.
>>
>> It is not expected for me that resizing the given image to 217x159
>> yields a result larger than 217x159, since that is not how every single
>> other image processing library I can find works (including, I believe,
>> imagemagick version <= 5). This is not restricted to the 'convert'
>> invocation given... I mean, for CloneImage (where the patch deals with),
>> if I give 217 columns and 159 rows, I expect to get that back.
>>
>> That is, without flattening, resizing the given GIF to, say, half or
>> double the canvas height/width with any other library generates an image
>> approximately a quarter or quadruple the size. With the current version
>> of imagemagick, you get huge results. (e.g., something like
>> 'convert foo.gif -resize 108x79 bar.gif')
>
>   No exactly. You get that:
>
> foo.gif GIF 1x4 217x159+216+125 8-bit PseudoClass 2c 63B 0.000u 0:00.000
> bar.gif[1] GIF 20x79 4340x3140+4320+2469 8-bit PseudoClass 32c 499B
> 0.000u 0:00.000
>
>   You scaled the first frame to 20x79, and you scaled the canvas
> accordingly. Why would you want that scaling apply only to part of the
> image ? This wouldn't make any sense !
>
>>> >> Are you trying to merge all the layer ? something like this :
>>> >>
>>> >> convert -resize '217x159!' -layers merge  'foo.gif[0]' foo.jpg
>>> >
>>> > The -layers option makes this incompatible with older ImageMagick
>>> > releases, and GraphicsMagick, which is possibly why various software
>>> > uses the other invocation.
>>>
>>>   Try this then:
>>>
>>> convert 'foo.gif[0]' -flatten -resize '217x159!'  foo.jpg
>>>
>>>   This does the resizing once all layers have been merged.
>>
>> I can't even verify that this does what you say (though I assume you are
>> correct), since it takes too much memory to run on my machine.
>
>   I'm surprised, as on mine this is instantaneous. Could you try with
> the newer imagemagick from unstable, please ?
>
>   Cheers,
>
>       Vincent
>
>
>



More information about the Pkg-gmagick-im-team mailing list