Как работать с GIF файлами
Материал из DRKB
Этот код, делает следующее, загружаем в листбох список Gif файлов, затем это все дело объединяется в один BMP файл, картинка к картинке, кто знает DirectX поймет для чего это надо (спрайты)
procedure TForm1.Button2Click(Sender: TObject);
begin
if OpenDialog1.Execute then
begin
ListBox1.Items := OpenDialog1.Files;
Edit2.Text := IntToStr(ListBox1.Items.Count);
end;
end;
procedure TForm1.Button1Click(Sender: TObject);
var
i, a: Integer;
bm: TBItmap;
begin
a := 0;
bm := TBItmap.Create;
Image1.Picture.LoadFromFile(listbox1.Items[0]);
bm.Height := Image1.Height;
bm.Width := ListBox1.Items.Count * Image1.Picture.Width;
for i := 0 to ListBox1.Items.Count - 1 do
begin
Image1.Picture.LoadFromFile(ListBox1.Items[i]);
bm.Canvas.Draw(a, 0, Image1.Picture.Graphic);
a := a + Image1.Picture.Height;
end;
//Form1.Canvas.Draw(0, 0, bm);
bm.SaveToFile(Edit1.Text + '.bmp');
bm.Free;
end;
Source: http://delphiworld.narod.ru/
ID: 03800
ID: 04295
из файлов GIF (анимированных) вытаскивает каждую картинку в отдельности, или записывает в отдельный BMP по очереди
Для этих программок нужен всеми любимый RX Lib !!!
procedure TForm1.Button4Click(Sender: TObject);
var
i, a: Integer;
bm: TBItmap;
begin
a := 0;
bm := TBItmap.Create;
bm.Height := RxGIFAnimator1.Height;
bm.Width := RxGIFAnimator1.Image.Count * RxGIFAnimator1.Width;
for i := 0 to RxGIFAnimator1.Image.Count - 1 do
begin
RxGIFAnimator1.FrameIndex := i;
bm.Canvas.Draw(a, 0, RxGIFAnimator1.Image.Frames[i].Bitmap);
a := a + RxGIFAnimator1.Height;
end;
//Form1.Canvas.Draw(0, 0, bm);
bm.SaveToFile(Edit1.Text + '.bmp');
bm.Free;
end;
Author: МММ
Source: Взято с Vingrad.ru http://forum.vingrad.ru
ID: 03801
ID: 04296
Как поставить (анимационный) GIF на форму?
Использовать компонент rxGIFAnimator из библиотеки RxLib.
Author: Vit
ID: 04297