Seite 1 von 1
PNG Bilder abspielen
Verfasst: 06.04.2009 14:07
von BginnR
Hallo Leute,
ich hätte da mal ne Frage:
Wie kann man machen, dass ein Vollbildmodus kommt, und dadrin Bilder, schnell nacheinander, im Format PNG, abgespielt werden??
wäre cool wenn mir jemand helfen könnte.
Verfasst: 06.04.2009 14:19
von Kaeru Gaman
"abspielen" ist ein witziges wort....
- PNGs laden ist ganz einfach, UsePNGImageDecoder aktivieren und per LoadSprite reinholen.
- Anzeigen kann man Sprites in beliebiger größe, d.h. auch bildfüllende Bilder
Beispiele für DisplaySprite gibts enMasse...
- je nachdem, wie viele bilder du hast und wie groß und komplex sie sind,
bzw. je nachdem wie viel Speicher du zur Verfügung hast,
musst du ausprobieren, ob du sie alle vorab lädst oder in jedem Frame jedes Bild einzeln lädst.
ABER
wenn du ein Intro abspielen willst oder sowas, ist es wesentlich praktischer,
aus deinen Bildern ein AVI zu machen und das per RenderMovieFrame auf deinen Screen zu bringen.
eine Einzelbildmethode ist eher geeignet für Zwischensequenzen im Anime-Style,
wo Standbilder gescrollt und gezoomt werden.
Verfasst: 06.04.2009 14:35
von BginnR
nun ja
ich dachte dass ich jetzt zB 5 Bilder habe,
die eine rollende Kugel darstellen.
Und wenn mann sie nacheinander abspielt,
soll das ganze wie ein kleiner Film aussehen.
Mit welchem Befehl muss man die PNG Bilder laden,
zeigen, und wieder löschen?
Verfasst: 06.04.2009 15:13
von KeyKon
Evtl. mal in die Hilfe nach Folgendem guggen:
InitSprite()
OpenScreen()
LoadSprite()
ClearScreen()
DisplaySprite()
FlipBuffers()
Verfasst: 06.04.2009 15:34
von Vermilion
Übrigens ist es egal, ob es PNG, BMP oder TGA oder was auch immer ist. Das ist das Format auf der Festplatte. Im Videospeicher liegen die Bildinformationen alle in der selben Form da.
Eine als Sprite Portable Network Graphic ist nicht langsamer in der Darstellung als eine Bitmap.
Verfasst: 06.04.2009 15:48
von Kaeru Gaman
BginnR hat geschrieben:Mit welchem Befehl muss man die PNG Bilder laden,
zeigen, und wieder löschen?
Kaeru Gaman hat geschrieben:- PNGs laden ist ganz einfach, UsePNGImageDecoder aktivieren und per LoadSprite reinholen.
- Anzeigen kann man Sprites in beliebiger größe, d.h. auch bildfüllende Bilder
Beispiele für DisplaySprite gibts enMasse...
Vermilion hat geschrieben:Im Videospeicher liegen die Bildinformationen alle in der selben Form da.
Eine als Sprite Portable Network Graphic ist nicht langsamer in der Darstellung als eine Bitmap.
- völlig richtig
- die Darstellung nicht.
aber der Ladevorgang kann durch das Entpacken bei einem großen und komplexen Bildinhalt bei PNG länger dauern.
das ist bei vorab-laden nicht wichtig, aber beim on-the-fly laden,
also frame für frame, kann das durchaus mal eine rolle spielen.
wollte das nur nicht unerwähnt lassen.
da es hier aber wohl kaum um Full-HD geht, das mit 100Hz laufen soll, dürfte es vernachlässigbar sein.
Verfasst: 06.04.2009 16:24
von Kaeru Gaman
@BginnR
da du möglicherweise auf ganz was anderes hinauswillst,
wie z.b. einfach mal reinschnuppern in spieleprogrammierung,
hab ich dir mal ein mini-beispiel getrickt, wie man mit einem einzigen sprite einen rollenden Ball animiert.
http://www.purebasic.fr/german/viewtopic.php?t=19661
Verfasst: 06.04.2009 19:10
von DarkDragon
Vermilion hat geschrieben:Übrigens ist es egal, ob es PNG, BMP oder TGA oder was auch immer ist. Das ist das Format auf der Festplatte. Im Videospeicher liegen die Bildinformationen alle in der selben Form da.
Stimmt nicht ganz. Es kann in verschiedenen Formaten im Videospeicher liegen. So kann es auch komprimiert vorliegen (
DCT - Hardwarebased JPEG viewer geht damit) oder als
16/32bit floats (
Alternativ hier) oder gar als Ganzzahl.
Verfasst: 13.04.2009 20:34
von BginnR
danke leute, ihr habt mir echt weiter geholfen.
Ich hab nur so ne art miniintro programmiert, dass ich sobald es etwas besser auf meiner hp spielen lasse.