Here's an example you're welcome to use on your examples page Anthony.
I'll leave the IM command structure to you
This lippy little guy is 64 frames, various delays.
The animated flag consists of 8 frames, all delays .06
This minimally optimised Image is now 200 frames, which is divisible by 8, the number of frames in our second animation
200/8 = 25. We need 25 repetitions of the flag animations to synch up the 2 animations.
All 200 frames now have a .06 delay and both animations start and end at the same time.
In this case, I did the splitting and duplications manually to arrive at a consistant delay for all frames.
Anthony, can you maybe break this part down so it's easier to understand?
Code: Select all
convert a.gif -coalesce \( -clone 0,0,1,1,1 \) -delete 1
I think this part in particular is a bit difficult to understand for new coders or non coders.
It should be noted that any frame delay lower than .06 will default to .10 in Internet Explorer (at least up to version 6)
For the greatest flexibility, I always build these with a .06 delay rate.
Anything higher limits the possible division points.
ie: with a delay of .06,
(let's make this easier to understand and drop the points and zeros...)
the possible divisions (frame delays) are
6, 12, 18, 24, 30, 36, etc.
If we use a .12 delay, the only possible divisions are now
12, 24, 36, etc.
In this case, we have several frames in the "smiley" that need to be addressed before we can begin duplicating the flag animation.
Frame #1 has a delay of 120
Frame #16 has a delay of 120
Frames #19 through 22 have a delay of 12
Frame #23 is 66
Frame #24 is 12 again
and so on.
So all of these seem to be divisible by 6.
We need to divide all of these frames into our lowest possible common frame rate, in this example, .06
120/6 = 20. We need 20 duplicate frames to replace frame #1, all with a .06 delay, to maintain the smiley's pause without stopping the flag animation.
In the event that a frame delay is not divisible by our lowest common delay, then it needs to be rounded to a divisible number before splitting and duplicating.
ie:
a frame rate of .10 can be rounded to 12 ,then divided into 2 identical .06 frames.
a frame rate of 8 or 9 can be rounded to 6 (or 12 then divided into 2 identical .06 frames).
a frame rate of 17 can be rounded to 24, then into 4 identical .06 frames.
Knowing whether to round up or down depends on the animation itself and your own experience with the particular type of animated image.
Here's a few more examples, some of them with up to 5 disjointed animations all merged into a single animation.
Multiple Animation Layer Combiner Is Available For Use At:
http://www.smileygenerator.us/animation ... /index.php
I've even done a few "Crosseye 3D" examples using merged animations like this but I'll leave that technique for another discussion
Cross your eyes slightly and focus on the center image that appears. Looks much better on a dark background!
http://www.smileygenerator.us/smileygen ... /index.php