Hallo, ich bin gerade dabei ein Programm mit Videoeffekten zu schreiben. Nun folgendes problem: Ich öffne ne AVI-Datei und ich möchte von jedem Frame dieser Datei eine Bitmap speichern. Ne Prozedur zum Speichern von dem Bitmap habe ich schon.
Delphi-Quellcode:
procedure TForm1.SpeedButton9Click(Sender: TObject);
var
Bild: Integer;
begin
Bild:= 1;
Trackbar1.Max:= Mediaplayer1.Length; //Max. Anzahl der Trackbar soll so lang sein, wie die AVI-Datei
Trackbar1.Position:= Mediaplayer1.Position;
while Bild <= Mediaplayer1.Length do begin
Mediaplayer1.Step; //Frame nach vorn
Mediaplayer1.Position:= Mediaplayer1.Position +1;
Bild:= Bild +1;
Bild:= Mediaplyer1.Positon;
GrabAVIFrame(OpenDialog1.Filename, Bild, 'C:\1.bmp'); //Avi Speicherort, aktuelles Frame, Speicherort der Bitmap
Mediaplayer1.Stop;
end;
end
Jetzt möchte ich aber, dass dieser Button Click wie ne Analyse selbstständig die ganze AVI automatisch abspielt und von jedem Frame ein Bild unter C:\ speichert. Dazu soll Frame 1 1.bmp, Frame 2 - 2.bmp etc. heißen. Soll heißen, ich brauche nen Codeschnipsel, der während die Schleife läuft beim Speichern immer automatisch um 1 erhöht. Wie kann ich das am sinnvollsten anstellen?