etwa so:
Delphi-Quellcode:
var bilder: array of TBitmap;
{...}
procedure bilderladen;
var i: integer;
breite: integer;
bild: TBitmap;
const
filename = 'c:\animation.jpg'; //z.b.
anzahl = 16; //z.b.
begin
bild := TBitmap.create;
setlength(bilder,anzahl);
try
bild.loadfromfile(filename); // Funktioniert, weil TBitmap Nachfahre von tGraphic ist
breite := bild.width div anzahl;
for i := 0 to anzahl-1 do
begin
bilder[i] := tBitmap.create;
bilder[i].width := breite;
bilder[i].height := bild.height;
bitblt(bilder[i].canvas.handle,0,0,breite,bild.height,bild.canvas.handle,
i*breite,0,srccopy);
end;
finally
bild.free;
end;
end;
Dann kannst du auf alle einzelnen Frames zugreifen. Ungetestet, müsste aber gehen...
edit: achja, du musst natürlich die
unit jpeg einbinden