title: How to extract frames from a TGifImage into Bitmaps?
body: <p>The demo below tries to draw the GIF on form's canvas. It doesn't work. The image won't advance. How to make it work?</p>
  
  <pre><code>procedure TForm1.FormCreate(Sender: TObject);
  begin
   GIF := TGIFImage.Create;
   GIF.LoadFromFile('c:\2.gif');
  end;
  
  procedure TForm1.FormDestroy(Sender: TObject);
  begin
   GIF.Free;
  end;
  
  procedure TForm1.Button1Click(Sender: TObject);
  VAR i: Integer;
  begin
   REPEAT
    for i:= 0 to GIF.Images.Count-1 DO
     begin
      DisplayGifFrame(i);
      Sleep(30);
     end;
   UNTIL FALSE;
  end;
  
  
  procedure TForm1.DisplayGifFrame(AIndex: Integer);
  VAR
     Renderer: TGIFRenderer;
  begin
   Renderer := TGIFRenderer.Create(GIF);
   TRY
    Renderer.Animate := TRUE;
    Renderer.FrameIndex := AIndex;
    Renderer.Draw(Canvas, Canvas.ClipRect); 
  
    {save frame in a bitmap here. save bitmap to disk}
    // xxx 
   FINALLY
    Renderer.Free;
   end;
  end;
  </code></pre>
  
  <p><strong>What I want to achieve:</strong><br>
  I want to extract all frames from a GIF and put each frame IN A UNIQUE bitmap.  </p>
  
  <hr>
  
  <p><strong>Update:</strong><br>
  Continued here: <a href="https://stackoverflow.com/questions/15140614/cannot-draw-gif-on-tbitmap">Cannot draw GIF on dynamically created TBitmap(s)</a></p>