![]() |
Mediaplayer: Frames
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:
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?
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 |
Re: Mediaplayer: Frames
Moin Hans,
dann ist die Funktion ![]()
Delphi-Quellcode:
liefert Dir, z.B., den Wert dreistellig zurück, ggf. mit führenden Nullen.
Format('%.3d',[<Wert der verwendet werden soll>])
|
Re: Mediaplayer: Frames
Hallo, schön das sich jemand gefunden hat, der sich mit der Sache auseinandersetzt. Kannst du bitte ein bisschen detaillierter antworten? Wie z.B. kann ich jedes Frame unter der Framenummer+.bmp speichern?
|
Re: Mediaplayer: Frames
Moin Hans,
Zitat:
Zitat:
Zitat:
Nur um den Begriff zu klären: für <Wert der verwendet werden soll> setzt Du einfach Deine Variable Bild ein. Vielleicht wird es dadurch klarer. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 03:17 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz