Frames eines Videos ermitteln [Gelöst]

Übersicht BlitzBasic Beginners-Corner

Neue Antwort erstellen

Trust

Betreff: Frames eines Videos ermitteln [Gelöst]

BeitragDi, Jun 08, 2010 19:13
Antworten mit Zitat
Benutzer-Profile anzeigen
Hallo allerseits,

ich hätte ein Problem mit DrawMovie,
Da dieser Befehl ein Movie im Loop abspielt.
Ich würde das Abspielen des Movies aber gerne nach erreichen des Endes
abbrechen.

Da müsste ich aber die Anzahl der Frames wissen und mitzählen.

Gibt es da eine Lösung?

Ps. es handelt sich bei mir um Animierte Gif-Sequenzen.

Vielen Dank
Trust
  • Zuletzt bearbeitet von Trust am Di, Jun 08, 2010 20:49, insgesamt einmal bearbeitet

mpmxyz

BeitragDi, Jun 08, 2010 19:21
Antworten mit Zitat
Benutzer-Profile anzeigen
Man kann zwar nicht die Anzahl an Frames direkt bestimmen, aber es gibt zwei Möglichkeiten, abzufragen, ob das Ende erreicht wurde. (Nach jedem Mal Zeichnen wird bei einem geladenen GIF der nächste Frame benutzt.)
Die beiden Befehle, die das machen können, stehen hier, wobei der eine die Zeichenfunktion ist. (Ich lasse dich mal den anderen selbst suchen. Wink)
mfG
mpmxyz
Edit: Haben GIFs in BB kein Ende? Das wäre ungünstig. Confused
Moin Moin!
Projekte: DBPC CodeCruncher Mandelbrot-Renderer
  • Zuletzt bearbeitet von mpmxyz am Di, Jun 08, 2010 19:23, insgesamt einmal bearbeitet

ozzi789

BeitragDi, Jun 08, 2010 19:22
Antworten mit Zitat
Benutzer-Profile anzeigen
Entweder den Dateiaufbau von GIF anschauen (falls open) und aus dem Header die Anzahl lesen.

Oder jeden Frame die Farbwerte der Pixel zusammen zählen und eine Checksumme bilden, jetzt wirst du merken ob der eine Frame schon mal abgespielt wurde.

zB Pseudo Code
Code: [AUSKLAPPEN]

for x= 1 to 50
  for y= 1 to 50
    readpixelfast
    chksum=chksum+rotanteil+gruenanteil+blauanteil*(x*y/10)
  next
next
0x2B || ! 0x2B
C# | C++13 | Java 7 | PHP 5

Trust

BeitragDi, Jun 08, 2010 19:38
Antworten mit Zitat
Benutzer-Profile anzeigen
@mpmxyz

ich steige bei deinem Beispiel nicht ganz dahinter.

DrawMovie() und MoviePlaying() liefern immer 1 zurück da die Animation
ja immer geloopt ist bei Gifs.

Oder wie/was meinst du genau?


[Edit]
Ok hat sich erledigt habe es mit der Checksumme gemacht wie ozzi789 gesagt hat.

Danke nochmals

Lg Trust

Neue Antwort erstellen


Übersicht BlitzBasic Beginners-Corner

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group