GIFアニメーション画像に対するネイティブサポートはないと思います。
最善の方法は?それを可能にする無料のコンポーネントはありますか? TImageとImageList + Timerの使用を考えていましたが、gifの各フレームを個別のbmpファイルにエクスポートする必要があります。
現代のDelphiでは非常に簡単です。すべて組み込まれています。TImage
をフォームにドロップし、アニメーションGIFをPictureプロパティに読み込みます。次に、 Animate
プロパティを使用してアニメーションを開始します。
(Image1.Picture.Graphic as TGIFImage).Animate := True;
AnimateLoop
および AnimateSpeed
でアニメーションを制御できます。アニメーションを再びオフにする方法を推測するのは非常に簡単です!
現在、Delphi 7を使用しているため、TGIFImage
コンポーネントは組み込まれていません。ただし、コードは Finn Tolderlund's websiteからダウンロードできます(TGIFImage
の最新バージョンが必要です)。このバージョンのコンポーネントでは、上記のコードは正常に機能しますが、数年前にD6からD2010に移植して以来、個人的には使用していません。
これらのさまざまなTGIFImage
コードはすべて、元々 Anders Melander によって作成された同じコンポーネントの単なるバージョンであり、2007年にDelphiに含めるためにEmbarcaderoに寄付されました。
これは単にアニメーションGIFを読み込んで、作成しない
procedure TForm1.FormCreate(Sender: TObject);
begin
( Image1.Picture.Graphic as TGIFImage ).Animate := True;// gets it goin'
( Image1.Picture.Graphic as TGIFImage ).AnimationSpeed:= 500;// adjust your speed
Form1.DoubleBuffered := True;// stops flickering
end;
stackoverflowが私を助けてくれたので、私のちょっとした見返りに:)