web-dev-qa-db-ja.com

アニメーションGifをデルファイ形式で使用する方法

GIFアニメーション画像に対するネイティブサポートはないと思います。

最善の方法は?それを可能にする無料のコンポーネントはありますか? TImageとImageList + Timerの使用を考えていましたが、gifの各フレームを個別のbmpファイルにエクスポートする必要があります。

22
Vitim.us

現代の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に寄付されました。

47
David Heffernan

これは単にアニメーション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が私を助けてくれたので、私のちょっとした見返りに:)

8
steve

Googleで「Delphi Gif」を検索した結果

http://melander.dk/delphi/gifimage/

今デルファイの一部

5
Toby Allen