Guten Abend,
so ich habe die Methode etwas anpassen müssen, da
ich nicht wußte wie Dein Array BitMapArray definiert ist.
Ich habe das jetzt mit einer ImageList gelöst, aber Dein Weg
sollte auch gehen.
Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
var
FrameIndex: Integer;
Picture: TPicture;
begin
Screen.Cursor := crHourGlass;
try
GifAnimateBegin;
{Step through each frame in in-memory list}
for FrameIndex := 0 to BitMapArray.Count -1 do
begin
// add frame to animated gif
BitMapArray.GetBitmap(FrameIndex,Image1.Picture.Bitmap);
GifAnimateAddImage(Image1.Picture.Graphic,false,1000);
end;
// We are using a TPicture but we could have used a TGIFImage instead.
// By not using TGIFImage directly we do not have to add GIFImage to the uses clause.
// By using TPicture we only need to add GifAnimate to the uses clause.
Picture := GifAnimateEndPicture;
Picture.SaveToFile(ExtractFilePath(ParamStr(0)) + 'sphere.gif'); // save gif
//ImageMovieFrame.Picture.Assign(Picture); // display gif
Picture.Free;
finally
Screen.Cursor := crDefault;
end;
end;
Dein Fehlerbild kann ich nicht reproduzieren.
Was ich mir noch vorstellen kann ist,
dass Du gifImage nicht vor FTGifAnimate in den uses geschrieben hast.
Oder stelle mal Deine Deklaration von BitMapArray vor.
Grüße
Klaus