Controlling animated GIF

Hi everyone,
Just started working with images in JavaFX and was wondering if there's any way to control an animated gif. In my example I need to make a gif go through its animation sequence once and only once. How can I do this?

Modify the Gif image with a good editor to remove the auto-repeat flag...

Similar Messages

  • Control Animated Gif with ImageAnimator Class

    Here is something I just found that some of you may like. You can use the
    ImageAnimator Class to run Animated Gifs in vb.net.
    Public Class Form9
    Private animatedImage As Bitmap = Image.FromFile("C:\bitmaps\animated gifs\hopping rabbit 2 - animated.gif")
    Private Sub Form9_Load(sender As Object, e As EventArgs) Handles MyBase.Load
    Button1.Text = "Start"
    Me.BackColor = Color.Teal
    End Sub
    Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
    If Button1.Text = "Stop" Then
    ImageAnimator.StopAnimate(animatedImage, New EventHandler(AddressOf Me.OnFrameChanged))
    Button1.Text = "Start"
    Else
    'Begin the animation.
    ImageAnimator.Animate(animatedImage, New EventHandler(AddressOf Me.OnFrameChanged))
    Button1.Text = "Stop"
    End If
    End Sub
    Private Sub Form9_Paint(sender As Object, e As PaintEventArgs) Handles Me.Paint
    'Get the next frame ready for rendering.
    ImageAnimator.UpdateFrames()
    'Draw the next frame in the animation.
    e.Graphics.DrawImage(Me.animatedImage, New Point(0, 0))
    End Sub
    Private Sub OnFrameChanged(ByVal o As Object, ByVal e As EventArgs)
    'Force a call to the Paint event handler.
    Me.Invalidate()
    End Sub
    End Class

    Hey Tom,
     Yes the ImageAnimator is a handy class for showing animated Gif images. I looked at it when making the Playback panel on my Gif Creator program. I could not use it though because, i would of had to create the Gif image before i could play it back
    and being my images are all single images i was stuck using a Timer to show each one.
     I wish there was a way to use a list of single images with this class. It would have been much less work.   8)
    If you say it can`t be done then i`ll try it
    Yeah, I see that it is not enough for your Gif Creator.
    I just did not know about it and was using the gif strip to manually make a list of all the gif frames and showing individually with a timer. This class does it and a couple other things much easier.

  • Create animated GIF using imageio

    How do you create an animated GIF using the J2SE's javax.imageio classes?
    I have been browsing these 3 threads (one of which I participated in) to try and develop an SSCCE of creating an animated GIF.
    [Writing out animated gifs with ImageIO?|http://forums.sun.com/thread.jspa?threadID=5204877]
    [Wirting image metadata to control animated gif delays |http://forums.java.net/jive/thread.jspa?messageID=214284&]
    [Help with GIF writer in imageio|http://www.javakb.com/Uwe/Forum.aspx/java-programmer/32892/Help-with-GIF-writer-in-imageio]
    (pity I did not prompt the OP on that last one, to supply an SSCCE.)
    Unfortunately, my efforts so far have been dismal. Either, without the IIOMetadata object, the GIF has frames with no delay, and it cycles just once, or with the IIOMetadata object I get an error.
    IIOInvalidTreeException: Unknown child of root node!Can anyone point me in the right direction?
    import java.awt.*;
    import java.awt.image.*;
    import javax.swing.*;
    import java.io.*;
    import java.net.URL;
    import java.util.Iterator;
    import javax.imageio.*;
    import javax.imageio.metadata.*;
    import javax.imageio.stream.*;
    import org.w3c.dom.Node;
    class WriteAnimatedGif {
      /** Adapted from code via Brian Burkhalter on
      http://forums.java.net/jive/thread.jspa?messageID=214284& */
      public static Node getRootNode(String delayTime) {
        IIOMetadataNode root =
          new IIOMetadataNode("javax_imageio_gif_stream_1.0");
        IIOMetadataNode gce =
          new IIOMetadataNode("GraphicControlExtension");
        gce.setAttribute("disposalMethod", "none");
        gce.setAttribute("userInputFlag", "FALSE");
        gce.setAttribute("transparentColorFlag", "FALSE");
        gce.setAttribute("delayTime", delayTime);
        gce.setAttribute("transparentColorIndex", "255");
        root.appendChild(gce);
        IIOMetadataNode aes =
          new IIOMetadataNode("ApplicationExtensions");
        IIOMetadataNode ae =
          new IIOMetadataNode("ApplicationExtension");
        ae.setAttribute("applicationID", "NETSCAPE");
        ae.setAttribute("authenticationCode", "2.0");
        byte[] uo = new byte[] {
          (byte)0x21, (byte)0xff, (byte)0x0b,
          (byte)'N', (byte)'E', (byte)'T', (byte)'S',
          (byte)'C', (byte)'A', (byte)'P', (byte)'E',
          (byte)'2', (byte)'.', (byte)'0',
          (byte)0x03, (byte)0x01, (byte)0x00, (byte)0x00,
          (byte)0x00
        ae.setUserObject(uo);
        aes.appendChild(ae);
        root.appendChild(aes);
        return root;
      /** Adapted from code via GeogffTitmus on
      http://forums.sun.com/thread.jspa?messageID=9988198 */
      public static File saveAnimate(
        BufferedImage[] frames,
        String name,
        String delayTime) throws Exception {
        File file = null;
        file = new File(name+".gif");
        Node root = getRootNode(delayTime);
        ImageWriter iw = ImageIO.getImageWritersByFormatName("gif").next();
        ImageOutputStream ios = ImageIO.createImageOutputStream(file);
        iw.setOutput(ios);
        //IIOImage ii = new IIOImage(frames[0], null, null);
        //IIOMetadata im = iw.getDefaultStreamMetadata(null);
        //IIOMetadata im = new AnimatedIIOMetadata();
        //im.setFromTree("gif", root);
        iw.prepareWriteSequence(null);
        for (int i = 0; i < frames.length; i++) {
          BufferedImage src = frames;
    ImageWriteParam iwp = iw.getDefaultWriteParam();
    IIOMetadata metadata = iw.getDefaultStreamMetadata(iwp);
    System.out.println( "IIOMetadata: " + metadata );
    //metadata.mergeTree(metadata.getNativeMetadataFormatName(), root);
    metadata.setFromTree(metadata.getNativeMetadataFormatName(), root);
    //Node root = metadata.getAsTree("javax_imageio_gif_image_1.0");
    IIOImage ii = new IIOImage(src, null, metadata);
    iw.writeToSequence( ii, (ImageWriteParam)null);
    iw.endWriteSequence();
    ios.close();
    return file;
    public static void main(String[] args) throws Exception {
    // uncomment the other two if you like, but we can
    // see it work or fail with just the first and last.
    String[] names = {
    "bronze",
    //"silver",
    //"gold",
    "platinum"
    String pre = "http://forums.sun.com/im/";
    String suff = "-star.gif";
    BufferedImage[] frames = new BufferedImage[names.length];
    for (int ii=0; ii<names.length; ii++) {
    URL url = new URL(pre + names[ii] + suff);
    System.out.println(url);
    frames[ii] = ImageIO.read(url);
    File f = saveAnimate(frames, "animatedstars", "500");
    JOptionPane.showMessageDialog( null, new ImageIcon(f.toURI().toURL()) );
    Desktop.getDesktop().open(f);
    ImageInputStream iis = ImageIO.createImageInputStream(f);
    //System.out.println("ImageReader: " + ir1);
    //System.out.println("IIOMetadata: " + ir1.getStreamMetadata());
    Iterator itReaders = ImageIO.getImageReaders(iis);
    while (itReaders.hasNext() ) {
    ImageReader ir = (ImageReader)itReaders.next();
    System.out.println("ImageReader: " + ir);
    System.out.println("IIOMetadata: " + ir.getStreamMetadata());

    According to imagio's [gif metadata specification|http://java.sun.com/javase/6/docs/api/javax/imageio/metadata/doc-files/gif_metadata.html], the metadata you are specifying is image-specific metadata. The stream metadata is global metadata applicable to all the images.
    So change this,
    IIOMetadataNode root =
        new IIOMetadataNode("javax_imageio_gif_stream_1.0");to this,
    IIOMetadataNode root =
        new IIOMetadataNode("javax_imageio_gif_image_1.0");and this,
    IIOMetadata metadata = iw.getDefaultStreamMetadata(iwp);
    System.out.println( "IIOMetadata: " + metadata );
    //metadata.mergeTree(metadata.getNativeMetadataFormatName(), root);
    metadata.setFromTree(metadata.getNativeMetadataFormatName(), root);
    //Node root = metadata.getAsTree("javax_imageio_gif_image_1.0");to this,
    IIOMetadata metadata = iw.getDefaultImageMetadata(
            new ImageTypeSpecifier(src),null);
    System.out.println("IIOMetadata: " + metadata);
    metadata.mergeTree(metadata.getNativeMetadataFormatName(), root);Here is your program again, but with the above changes.
    import java.awt.*;
    import java.awt.image.*;
    import javax.swing.*;
    import java.io.*;
    import java.net.URL;
    import java.util.Iterator;
    import javax.imageio.*;
    import javax.imageio.metadata.*;
    import javax.imageio.stream.*;
    import org.w3c.dom.Node;
    class WriteAnimatedGif {
        /** Adapted from code via Brian Burkhalter on
        http://forums.java.net/jive/thread.jspa?messageID=214284& */
        public static Node getRootNode(String delayTime) {
            IIOMetadataNode root =
                    new IIOMetadataNode("javax_imageio_gif_image_1.0");
            IIOMetadataNode gce =
                    new IIOMetadataNode("GraphicControlExtension");
            gce.setAttribute("disposalMethod", "none");
            gce.setAttribute("userInputFlag", "FALSE");
            gce.setAttribute("transparentColorFlag", "FALSE");
            gce.setAttribute("delayTime", delayTime);
            gce.setAttribute("transparentColorIndex", "255");
            root.appendChild(gce);
            IIOMetadataNode aes =
                    new IIOMetadataNode("ApplicationExtensions");
            IIOMetadataNode ae =
                    new IIOMetadataNode("ApplicationExtension");
            ae.setAttribute("applicationID", "NETSCAPE");
            ae.setAttribute("authenticationCode", "2.0");
            byte[] uo = new byte[]{
                (byte) 0x21, (byte) 0xff, (byte) 0x0b,
                (byte) 'N', (byte) 'E', (byte) 'T', (byte) 'S',
                (byte) 'C', (byte) 'A', (byte) 'P', (byte) 'E',
                (byte) '2', (byte) '.', (byte) '0',
                (byte) 0x03, (byte) 0x01, (byte) 0x00, (byte) 0x00,
                (byte) 0x00
            ae.setUserObject(uo);
            aes.appendChild(ae);
            root.appendChild(aes);
            return root;
        /** Adapted from code via GeogffTitmus on
        http://forums.sun.com/thread.jspa?messageID=9988198 */
        public static File saveAnimate(
                BufferedImage[] frames,
                String name,
                String delayTime) throws Exception {
            File file = null;
            file = new File(name + ".gif");
            Node root = getRootNode(delayTime);
            ImageWriter iw = ImageIO.getImageWritersByFormatName("gif").next();
            ImageOutputStream ios = ImageIO.createImageOutputStream(file);
            iw.setOutput(ios);
            //IIOImage ii = new IIOImage(frames[0], null, null);
            //IIOMetadata im = iw.getDefaultStreamMetadata(null);
            //IIOMetadata im = new AnimatedIIOMetadata();
            //im.setFromTree("gif", root);
            iw.prepareWriteSequence(null);
            for (int i = 0; i < frames.length; i++) {
                BufferedImage src = frames;
    ImageWriteParam iwp = iw.getDefaultWriteParam();
    IIOMetadata metadata = iw.getDefaultImageMetadata(
    new ImageTypeSpecifier(src), null);
    System.out.println("IIOMetadata: " + metadata);
    metadata.mergeTree(metadata.getNativeMetadataFormatName(), root);
    IIOImage ii = new IIOImage(src, null, metadata);
    iw.writeToSequence(ii, (ImageWriteParam) null);
    iw.endWriteSequence();
    ios.close();
    return file;
    public static void main(String[] args) throws Exception {
    // uncomment the other two if you like, but we can
    // see it work or fail with just the first and last.
    String[] names = {
    "bronze",
    //"silver",
    //"gold",
    "platinum"
    String pre = "http://forums.sun.com/im/";
    String suff = "-star.gif";
    BufferedImage[] frames = new BufferedImage[names.length];
    for (int ii = 0; ii < names.length; ii++) {
    URL url = new URL(pre + names[ii] + suff);
    System.out.println(url);
    frames[ii] = ImageIO.read(url);
    File f = saveAnimate(frames, "animatedstars", "500");
    JOptionPane.showMessageDialog(null, new ImageIcon(f.toURI().toURL()));
    Desktop.getDesktop().open(f);
    ImageInputStream iis = ImageIO.createImageInputStream(f);
    //System.out.println("ImageReader: " + ir1);
    //System.out.println("IIOMetadata: " + ir1.getStreamMetadata());
    Iterator itReaders = ImageIO.getImageReaders(iis);
    while (itReaders.hasNext()) {
    ImageReader ir = (ImageReader) itReaders.next();
    System.out.println("ImageReader: " + ir);
    System.out.println("IIOMetadata: " + ir.getStreamMetadata());

  • How Do I Load An Animated GIF Into PictureBox Control From Byte Array?

    I'm having a problem with loading an animated GIF int a picturebox control in a C# program after it has been converted to a base64 string, then converted to a byte array, then written to binary, then converted to a base64 string again, then converted to
    a byte array, then loaded into a memory stream and finally into a picturebox control.
    Here's the step-by-step code I've written:
    1. First I open an animated GIF from a file and load it directly into a picturebox control. It animates just fine.
    2. Next I convert the image in the picturebox control (pbTitlePageImage) to a base64 string as shown in the code below:
                    if (pbTitlePageImage.Image != null)
                        string Image2BConverted;
                        using (Bitmap bm = new Bitmap(pbTitlePageImage.Image))
                            using (MemoryStream ms = new MemoryStream())
                                bm.Save(ms, ImageFormat.Jpeg);
                                Image2BConverted = Convert.ToBase64String(ms.ToArray());
                                GameInfo.TitlePageImage = Image2BConverted;
                                ms.Close();
                                GameInfo.TitlePageImagePresent = true;
                                ProjectNeedsSaving = true;
    3. Then I write the base64 string to a binary file using FileStream and BinaryWriter.
    4. Next I get the image from the binary file using FileStream and BinaryReader and assign it to a string variable. It is now a base64 string again.
    5. Next I load the base64 string into a byte array, then I load it into StreamReader and finally into the picturebox control (pbGameImages) as shown in the code below:
    byte[] TitlePageImageBuffer = Convert.FromBase64String(GameInfo.TitlePageImage);
                            MemoryStream memTitlePageImageStream = new MemoryStream(TitlePageImageBuffer, 0, TitlePageImageBuffer.Length);
                            memTitlePageImageStream.Write(TitlePageImageBuffer, 0, TitlePageImageBuffer.Length);
                            memTitlePageImageStream.Position = 0;
                            pbGameImages.Image = Image.FromStream(memTitlePageImageStream, true);
                            memTitlePageImageStream.Close();
                            memTitlePageImageStream = null;
                            TitlePageImageBuffer = null;
    This step-by-step will work with all image file types except animated GIFs (standard GIFs work fine). It looks like it's just taking one frame from the animation and loading it into the picturebox. I need to be able to load the entire animation. Does any of
    the code above cause the animation to be lost? Any ideas?

    There is an ImageAnimator so you may not need to use byte array instead.
    ImageAnimator.Animate Method
    http://msdn.microsoft.com/en-us/library/system.drawing.imageanimator.animate(v=vs.110).aspx
    chanmm
    chanmm

  • Animated GIF - Sync, Control, or Reset?

    I have a CP7 project with animated GIFs in it. The GIFs are invisible by default and become visible through an advanced action (Show) attached to a Button object on the same slide. But when I preview the slide and click the Button, the GIFs start animating in the middle of the sequence instead of at the beginning. Is there a way to tell Captivate to start those GIFs over when the button is clicked, or to not start the animation until the objects become visible? I could swear I've done this before but I can't seem to recall how I made it work properly.

    I've been wrestling with this for a while, and I thought I would share this if it helps anyone besides me:
    If an animated GIF is set to be NOT "Visible in output," then the animation will wait until a "Show" command causes the GIF to be displayed.
    HOWEVER, at that "Show" command, ALL instances of the Library item representing that GIF will start (even if you have other instances still hidden).
    I worked around this by duplicating my animated GIF in the filesystem, then loading it into the library as different instances. Once I did this, each Library item had its own GIF timing, which allowed me to make sure each GIF started the animation when I showed it and not before. That achieved the desired functionality.

  • Animated .gif not moving

    I've been intrigued by the new animated "postcards" or cinemagraphs (for example, see http://fromme-toyou.tumblr.com/tagged/gif). I found a great tutorial about how to do this using Photoshop Extended and the animation panel. I created my own, and then followed the instructions for saving the file:
    1. "Save for Web and Devices"
    2. make sure to save as GIF, looped "forever"
    When I previewed the gif (from the "save for web and devices" dialog box), it worked great.
    But when I save the gif, it doesn't move. It is just one frame of the animation, as a static photo. When I click the file, I get a "Preview" that shows all the frames, but I can't ever get it to move.
    Is there a step I'm missing? Or is there some operating system setting I need to change? I've never created an animated gif before, but I can see other people's animated gifs in my email. (I'm attaching my gif in case you can figure it out from that.)
    OKAY...I looked at the attachment, and it moves (my dog's eyes). This is the only time it has worked. I've tried to email it, post it on Tumblr, open it in my browser, but it never worked. Now, I post it here, and--at least as I look at the attachment--it works here. How can I get it to move when I post it online or try to send it via email?
    I'm running Mac OSX 10.6, Photoshop CS 5.1.
    Thank you!
    Carol

    Some email clients disable animated GIFs.
    Web sites like Tumblr that have image upload functions may further process your file during upload by removing its animated features. You could control this by hosting images on your own web site.
    In general, animated GIF files are not ideal for emails because of their large size. GIF is an inefficient format for photorealistic animation/video.

  • Animated .gif won't loop a specified amount of times

    I created an animated .gif in photoshop and set it to loop twice. It works fine in every other browser except firefox. Here is a test example:
    http://elliottkirby.com/test/
    The box is set to animate across twice. Any thoughts? I tested setting it to loop "forever" and it works in FF...however the ad I'm creating has a loop time limit. I checked my config settings and image animation is set to normal. Thanks!

    From what I understand of your problem;
    - You have made your own animated gifs
    - With the software to make these gifs you have set them to loop their animations 3 times
    - They loop continuously
    I don't see how java can be expected to interpret the animated gif software instructions to loop only 3 times and would assume that there are various proprietry ways of setting this (an assumption based on applets /javascript etc, that rely on the client-side browser interpreter). So, if you loop your animated gif or have any form of animated gif that you import into your program with getDocumentBase /getCodeBase as a (pre-animated) gif, then this is exactly what I would assume would happen.
    The answer is to seperate your images with eg;-
    smiley1[0];
    smiley1[1];
    smiley1[2];
    run a seperate thread, cycle through them as you wish and stop.
    I'm fairly sure that there is nothing in either the swing libraries or the jmf libraries that can resolve this any other way, so your choices are write extra code and have a pool of threads to control this, or leave it as is.

  • Animated gif will not stop when placed in director

    I have an animated gif I am trying to place into a director
    file.
    When its placed and I press play it will play the animated
    gif over
    and over. I also took the gif and saved it as a swf file
    placed it in
    director it does the same thing. Please tell me what I am
    missing.
    Also I will show the dir file if you need to see it.

    Oops - wrong button - didn't mean to send that yet...
    anyway...
    You don't have much control over Animated Gif members in
    Director. You
    can use
    sprite(animGifSprite).pause()
    to stop the animation and
    sprite(animGifSprite).resume()
    to restart it. The tricky bit is knowing when to do those
    things.
    There is no way I know of to find out if the sprite is at the
    end of
    it's image sequence.
    Perhaps a better way of going about it would be to take the
    animation
    apart into individual frames and load them into a swf member
    (in Flash)
    or a Film Loop in Director. You may have more control over
    the
    animation that way.
    The fact that it keeps repeating over and over again is sort
    of the
    point of an animated gif... though I believe that you can
    make an
    animated gif that specifically does not loop back to the
    start using
    ImageReady or the newer version of Photoshop. Though I have
    not tried
    this...

  • Animated Gif won't stop looping!

    I'll try to format my question as best I can.
    I have created a Java chat applet, and for the Java chat, I have created a "ChatPane" class for displaying the chat. ChatPane is an extension of Canvas, and every time the paint() method is called, the program loops through visible lines of text drawing them on a buffer image, then draws the buffer on the screen.
    My problem lies in animated gifs. In my chatroom, chatters can type textual symbols that will be replaced with an image (or emoticon). I have created my animated icons in a popular animated gif editing program, and I have set particular icons to loop 3 times. The problem is that when the animated icon is displayed in my applet, the animation -doesn't stop- after 3 loops, it loops forever! I can't for the life of me figure out why! Can anyone provide any insight as to why the animations won't stop after 3 loops? The animations work just fine if displayed in a browser by themselves (they stop looping after 3 times)
    Thank you for any help!
    [email protected]
    Tony N.

    From what I understand of your problem;
    - You have made your own animated gifs
    - With the software to make these gifs you have set them to loop their animations 3 times
    - They loop continuously
    I don't see how java can be expected to interpret the animated gif software instructions to loop only 3 times and would assume that there are various proprietry ways of setting this (an assumption based on applets /javascript etc, that rely on the client-side browser interpreter). So, if you loop your animated gif or have any form of animated gif that you import into your program with getDocumentBase /getCodeBase as a (pre-animated) gif, then this is exactly what I would assume would happen.
    The answer is to seperate your images with eg;-
    smiley1[0];
    smiley1[1];
    smiley1[2];
    run a seperate thread, cycle through them as you wish and stop.
    I'm fairly sure that there is nothing in either the swing libraries or the jmf libraries that can resolve this any other way, so your choices are write extra code and have a pool of threads to control this, or leave it as is.

  • How to include Animated GIF-s?

    Can animated gifs be included in a LabVIEW VI front
    panel?If so, how?
    Thanks in advance for any hint
    Gorka
    * Sent from AltaVista http://www.altavista.com Where you can also find related Web Pages, Images, Audios, Videos, News, and Shopping. Smart is Beautiful

    Go to www.jcomsoft.com and download and install the activex control for gif
    animation - there is a free trial version, if you want to get rid of the
    annoying registration mesages, you have to register.
    then run labview and place a activex container on the frontpanel.
    right click and select insert activex control
    select the gif animation control
    then right click on the container (with the gif control inserted) and select
    properties.
    A window opens allowing you to select which file you want to animate,
    amongst other things
    click ok and its done.
    well, it worked for me anyway. Its really easy once you have the activex
    gif animation control.
    Cheers
    John
    Mike wrote in message
    news:8i9j13$7o0$[email protected]..
    > LabVIEW doesn't hav
    e this capability as a buil in function. However, there
    > might be an ActiveX container solution to your problem if you are on
    > Windows.
    >
    > -Michel Farhi
    >
    > "Gorka Larrea" wrote in message
    > news:[email protected]..
    > > Can animated gifs be included in a LabVIEW VI front
    > > panel?If so, how?
    > > Thanks in advance for any hint
    > >
    > > Gorka
    > >
    > >
    > > * Sent from AltaVista http://www.altavista.com Where you can also find
    > related Web Pages, Images, Audios, Videos, News, and Shopping. Smart is
    > Beautiful
    >
    >

  • Jpeg and animated gif's

    Hi. Does anybody know how to put an *.jpeg image and an animated gif
    on the front panel of a VI?
    I would be greatfull for any help.
    Vlad

    "Ioan Vlad Dragomir" wrote:
    >>Hi. Does anybody know how to put an *.jpeg image and an animated gif >on
    the front panel of a VI?>>I would be greatfull for any help.>Vlad
    Hi Vlad
    Have a look at the ""Example Programs Database ""
    Reading from JPEG/PNG/BMP Images into a LabVIEW Picture Control.
    http://digital.ni.com/explprog.nsf/75c7cd5de6d387788625663d00558a4c/ab8e1f3913731e208625677d0076acd6?OpenDocument
    This VI will give you a good example of how you can display a *.jpeg
    Hope that help.
    Rejean

  • Animated GIF--Quality and File Size

    I'm having a hard time getting a quality image and a decent file size.
    Even if I save animated GIFs and open with PE an try to resave them, the motion is choppy and the file size is more than double the original.
    For example, the following image is less than 10K and plays quite smoothely, but no way can I duplicate such a simple graphic under 10K:
    http://thequackshack.com/forums/radio/style_images/Borderli-546/ad_banner.gif
    It also seems that others can control the duration of frames individually...
    Most of my GIFs end up around 300K, which will not be accepted. A compromise of poor quality will also not be considered.
    What can I do?
    I've tried lowering Dither and colors, but the results are poor. My graphics will not be used if they are so large or of poor quality.
    Here is a couple that I made:
    http://thequackshack.com/forums/radio/uploads/post-176-1135532612.gif
    http://thequackshack.com/forums/radio/uploads/post-176-1135723565.gif
    PSE3, WinXP Pro

    Cuc
    I am not an animation expert, but I copied two of your examples. On the example you say is under 10K, there are about 35 layers. On your example there are about 65 layers. I'm wondering if reducing the number of layers would get you what you want.
    As for controlling duration of frames, I assume you want Frame 1 to be 0.5 second, Frame 2 to be 1 second etc. I think PSE puts a uniform time between frames. This can be adjusted, but it is adjusted all frames. One workaround I've seen is to copy a layer. So if the timing interval is 0.5 seconds, you would have the same image show for 0.5 seconds X 2 = 1 second.
    This is about all I know on animated GIFS.

  • Getting Animated Gif files to animate

    Anyhad had any success at having animated gif files animating in Keynote 2? Mine doesn't seem to want to animate. Thx!

    Another thing, did you get your animated GIF from online or from a collection on CD/DVD? If you just drag and drop an animated GIF from Safari, it will usually only save the starting image. You have to control-click (or right-click) and Save File As… to save all parts of an animated GIF you download from the web. Off of a CD/DVD, there shouldn't be any such problem, though.
    Damian

  • Animated GIF files in forms

    Is it possible to display an animated GIF file on a form that
    plays once and then stops and if so HOW???!!!!!
    null

    Mr. Dave Taulty
    It is possible to use a animated gif in forms(6)
    there is native control called "Bean area", there is special
    java class to do that. all you need to specify is the
    implementation class of the Bean Area
    native "Bean Area" control is the answer to your query
    Vishnu V.
    null

  • Animated gif and gradient color problem

    Hi there,
    I have been trying to create animated gif with gradient background. My animation works alright but the problem is that when I preview either in browser or in the preview mode, the gradient doesnt look smooth. I want to know if there is a way to work around this? I have seen some on other websites and it looks perfect. I'm wondering how they do it.
    I'll appreciate anybody's help.

    Cobby Fred wrote:
    I have to thank you all for your assistance so far. I must say I only know how to put some few things together and I do not understand some of the technical words you used such as dither, geometric dithering, blending mode... But in all I understand that if I blend colors that are close I'll get something close to smooth.
    Here's Wikipedia's page on dither: http://en.wikipedia.org/wiki/Dither Scroll down till you see the images of the cats on the right-hand side. It's a little over half-way. In the original, the cat's pretty much a gradient. If that image is saved as a .gif, see how you get wide areas of color? It almost looks like a paint-by-number picture. This similar to what happens to your radial gradient when you save as .gif. I used the word "geometric," because the radial gradient will produce arcs of grey colors. The third image of the cat has dithering. This means that, instead of setting the colors in the original image to the closest one in the restricted palette, the software tries to figure out how to speckle the image to produce an average that would look better at a distance. Turning on dithering when you go to output your gradient will help make your image smoother, just as the third cat image is smoother than the second. Here's where you turn on dithering if you go through File > Image Preview:
    Here I have my unflattened .png file
    No, it's flattened. It's a single bitmap.
    Here's a noisy image I created. It has a radial gradient at the bottom then a texture layer that has it's visibility off, because I copied it to make a greyscale version to use. I've set that to have 25% opacity and a blending mode of Multiply. Both the opacity and blending mode controls are at the top of the layers panel. This is a FW .png (Edit, no, it isn't! The forum  has stopped supporting that! ):
    If I export the gradient alone, without the texture layer, I can get this (settings are "64-color" greyscale palette and no dithering):
    or this (turning on dithering):
    While the dithered image is better, it still shows the arcs. If I set the texture layer back visible, and export with dithering on, I get this:
    The noise in the texture breaks up the geometric arcs, which makes the image look smoother. Any small texture will do that. Choosing the 64-color greyscale palette gives me either 22 or 26 colors.The 32-color palette gave me 12. You should experiment with the .gif palette settings to see what you like best. Remember that the more colors you assign to your background the fewer colors you have available for your foreground objects.
    As a final point, the red text looks blurry. When I zoom in on it (400%), some of the lines are partially "broken," specifically the verticals on the L, T, and N. You might want to try a different font or adjusting the size so that the aliasing (mapping) to the pixels is cleaner. Italic text in small sizes is difficult to use.

Maybe you are looking for