Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Multimedia (https://www.delphipraxis.net/16-multimedia/)
-   -   Delphi Mediaplayer: Frames (https://www.delphipraxis.net/37112-mediaplayer-frames.html)

hansklok 31. Dez 2004 13:04


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:
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?

Christian Seehase 31. Dez 2004 13:17

Re: Mediaplayer: Frames
 
Moin Hans,

dann ist die Funktion Delphi-Referenz durchsuchenFormat wohl das was Du suchst.

Delphi-Quellcode:
Format('%.3d',[<Wert der verwendet werden soll>])
liefert Dir, z.B., den Wert dreistellig zurück, ggf. mit führenden Nullen.

hansklok 31. Dez 2004 13:21

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?

Christian Seehase 31. Dez 2004 13:33

Re: Mediaplayer: Frames
 
Moin Hans,

Zitat:

Zitat von hansklok
schön das sich jemand gefunden hat, der sich mit der Sache auseinandersetzt.

hat ja auch immerhin fast eine Viertelstunde gedauert ;-)

Zitat:

Zitat von hansklok
Wie z.B. kann ich jedes Frame unter der Framenummer+.bmp speichern?

Zitat:

Zitat von Christian Seehase
Delphi-Quellcode:
Format('%.3d',[<Wert der verwendet werden soll>])
liefert Dir, z.B., den Wert dreistellig zurück, ggf. mit führenden Nullen.

Was ist daran jetzt so unverständlich? :gruebel:

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 10:18 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz