"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/imagic
k6/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/im
agick6/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 ) <A.Thyssen griffith.edu.au>
-----------------------------------------------------------
------------------
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
Magick-users imagemagick.org
http://studio.imagemagick.org/mailman/listinfo/magick
-users
|