"Marcel Wouterse" on  wrote...
| Hi Anthony,
| 
| Just for your information. A simple way of removing transparency from an
| animated gif is:
| 
| convert script_k.gif -coalesce -bordercolor limegreen -border 0
| script_k_limegreen.gif
| 
| This as another way from your example page:
| http://www.cit.gu.edu.au/~anthony/graphics/imagick6/animations/
| 
Thanks.  Yes I know about that method. But I didn't want to destroy the
existing heavy optimization that was preset in the image.


The -coalesce operator can also be use in other ways too.

For example if you set all disposal methods to None, before using, you
get a 'progressive -flatten' of the image on a transparent canvas.

If you set disposal to "Background" you expand each layer to the full
canvas size (transparent background), without -flattening them all
together.


But the animation examples have been put on hold, for development.

It seemed that -coalesce was not doing the right thing.  This I have now
fixed, (v6.2.6-1) but because it has been fixed, we can now see the bugs
and problems with using -deconstruct to optimize GIF animations.

At the moment I am working on a whole set of new functions for 'layered'
images.

Specifically    -layer optimize
whcih will try its best to optimize a GIF animation, selecting the right
disposal method to suit (including using "-dispose Previous").

This method is in the current IM beta v6.2.6-2  and optimizes most
animations perfectly,  but is currently broken for images involving
heavy clearing pixels (like a moving transparent window).

The problem it seems was that IM was thinking that fully-transparent red
was NOT the same as fully-transparent blue, again another fix.

You can look at some development of this in...
  IM Examples -- Miscellaneous --  Animation Operator Testing
  http://www.cit.gu.edu.au/~anthony/graphics/imagick6/misc/#animation

Another addition planed is a   -layers optimize-plus   operator
This is a advanced optimization that could actually add or remove frames
of the animation to improve the overall size of the animation.   EG add
a zero delay frame, to clear pixels, in the next frame, seperate to the
surrounding frame overlay of new pixels.

I also plan a  -layers optimize-transparency
which makes any overlaid pixel that does not change the current image,
transparent.  This improves the compression of the animation, though not
the frame size.

I will NOT be adding any form of LZW algorithm optimization, (as
provided by programs like "gifsicle") as this is a very complicated
technique.  Perhaps a set of special 'gif output formats' can call on
these programs as delegates.


If you can think of other  -layer  operation to apply to a seqience of
images, please let me know, so I can try and implement it NOW.


  Anthony Thyssen ( System Programmer )    <[EMAIL PROTECTED]>
 -----------------------------------------------------------------------------
     I am the terror that flaps in the night... 
     Arr Heck...     Lets get dangerous!!!          -- Dark Wing Duck
 -----------------------------------------------------------------------------
     Anthony's Home is his Castle     http://www.cit.gu.edu.au/~anthony/
_______________________________________________
Magick-users mailing list
[email protected]
http://studio.imagemagick.org/mailman/listinfo/magick-users

Reply via email to