Top / Programming / C++Builder / TGIFImageでGIFファイルを扱う

TGIFImageでGIFファイルを扱う

TGIFImageを使って、GIFファイルを扱う方法を説明します。

ヘッダファイル

TGIFImageを使うには「GIFImg.hpp」をincludeします。

#include <GIFImg.hpp>

GIFファイルの読み込む

#include <GIFImg.hpp>

TGIFImage* gif = new TGIFImage();
gif->LoadFromFile("C:\\sample.gif");

GIFファイルの保存する

TGIFImage* gif = new TGIFImage();
…
gif->SaveToFile("C:\\sample2.gif");

GIFファイルをTImageに表示する

「GIFImg.hpp」をincludeすると、GIFファイルを読み込むことができます。

#include <GIFImg.hpp>

Image1->Picture->LoadFromFile("C:\\sample.gif");

TGIFImageの内容をTImageに表示する場合はAssign()メソッドを使用します。

TGIFImage* gif = new TGIFImage();
gif->LoadFromFile("C:\\sample.gif");
Image1->Picture->Assign(gif);

透過GIFを作成する

GIFファイルでは複数画像を1つのファイルに格納できます。
そこで、「gif->Images->Frames[0]」で処理する画像を選択して、プロパティを設定します。

Graphics::TBitmap* bmp = new Graphics::TBitmap();
bmp->LoadFromFile("C:\sample.bmp");

TGIFImage* gif = new TGIFImage();
gif->Assign(bmp);

//先頭の画像に対して
TGIFGraphicControlExtension* ext = new TGIFGraphicControlExtension(
  gif->Images->Frames[0]);
ext->Transparent = true; //透過
ext->TransparentColor = clWhite; //透過色

TGIFImage.Assign()メソッドでは、TBitmapの透過色の設定も引き継がれます。
そこで、TBitmapで透過色の設定を行うこともできます。

Graphics::TBitmap* bmp = new Graphics::TBitmap();
bmp->LoadFromFile("C:\sample.bmp");
bmp->Transparent = true;
bmp->TransparentColor = clWhite;

TGIFImage* gif = new TGIFImage();
gif->Assign(bmp);

減色方法を指定する

TGIFImage.ColorReductionプロパティで、ビットマップをインポートした時に使われる減色メソッドを指定することができます。

使用できる減色方法をヘルプから引用します。

関連

更新履歴