PNG Bilder abspielen

Anfängerfragen zum Programmieren mit PureBasic.
BginnR
Beiträge: 39
Registriert: 06.12.2008 19:44
Kontaktdaten:

PNG Bilder abspielen

Beitrag von BginnR »

:shock:
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.
PB 3.30
PB 4.30 Demo
Kaeru Gaman
Beiträge: 17389
Registriert: 10.11.2004 03:22

Beitrag 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.
Der Narr denkt er sei ein weiser Mann.
Der Weise weiß, dass er ein Narr ist.
BginnR
Beiträge: 39
Registriert: 06.12.2008 19:44
Kontaktdaten:

Beitrag 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?
PB 3.30
PB 4.30 Demo
Benutzeravatar
KeyKon
Beiträge: 1412
Registriert: 10.09.2004 20:51
Computerausstattung: Laptop: i5 2,8 Ghz, 16GB DDR3 RAM, GeForce 555GT 2GB VRAM
PC: i7 4,3 Ghz, 32GB DDR3 RAM, GeForce 680 GTX 4GB VRAM
Win10 x64 Home/Prof
PB 5.30 (64bit)
Wohnort: Ansbach
Kontaktdaten:

Beitrag von KeyKon »

Evtl. mal in die Hilfe nach Folgendem guggen:

InitSprite()
OpenScreen()
LoadSprite()
ClearScreen()
DisplaySprite()
FlipBuffers()
(\/) (°,,,°) (\/)
Benutzeravatar
Vermilion
Beiträge: 1846
Registriert: 08.04.2006 16:00
Computerausstattung: Apple iMac (2010) & HP Notebook
Wohnort: Heidekreis

Beitrag 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.
Bild

Immer die neueste PureBasic Version. Auf allem Betriebssystemen. Ich bin ein OS-Nomad!
Kaeru Gaman
Beiträge: 17389
Registriert: 10.11.2004 03:22

Beitrag 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.
Der Narr denkt er sei ein weiser Mann.
Der Weise weiß, dass er ein Narr ist.
Kaeru Gaman
Beiträge: 17389
Registriert: 10.11.2004 03:22

Beitrag 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
Der Narr denkt er sei ein weiser Mann.
Der Weise weiß, dass er ein Narr ist.
DarkDragon
Beiträge: 6291
Registriert: 29.08.2004 08:37
Computerausstattung: Hoffentlich bald keine mehr
Kontaktdaten:

Beitrag 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.
Angenommen es gäbe einen Algorithmus mit imaginärer Laufzeit O(i * n), dann gilt O((i * n)^2) = O(-1 * n^2) d.h. wenn man diesen Algorithmus verschachtelt ist er fertig, bevor er angefangen hat.
BginnR
Beiträge: 39
Registriert: 06.12.2008 19:44
Kontaktdaten:

Beitrag 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.
PB 3.30
PB 4.30 Demo
Antworten