Seite 2 von 3
Verfasst: 29.09.2006 21:28
von Kaeru Gaman
kann ja mal passieren...
man sollte halt grundsätzlich erstmal in die Help gucken...
zum thema "Qualität von JPGs" schau dir mal den direkten vergleich an,
hatte ich mal in der Lounge gepostet:
http://www.purebasic-lounge.de/viewtopi ... 5118#35118
Verfasst: 29.09.2006 21:33
von Machete @PB
ok, aber könntest du bitte mal ein Beispielcode für ein loadjpegsprite schreiben? Bei mir funzt das wiedermal nicht so recht

Verfasst: 29.09.2006 21:35
von Kaeru Gaman
du musst nur an der stelle, wo du vorher LoadSprite stehen hattest,
den neuen Befehl schreiben.
und natürlich musst du die Datei auch an der richtigen stelle haben.
Verfasst: 29.09.2006 21:40
von Machete @PB
wenn ich das aber so mache kommt ein "x" in einem roten Kreis und "OK"
Code: Alles auswählen
If InitSprite()
MessageRequester("Fehler","Konnte dx nicht finden",0)
EndIf
If InitKeyboard()
MessageRequester("Fehler","Konnte dx nicht finden",0)
EndIf
If OpenScreen(800,600,32,"Vollbild") = 0
MessageRequester("Fehler","Konnte kein Vollbild erstellen ",0)
EndIf
LoadJPEGSprite(0,"GFX\Back.jpg",0)
Repeat
FlipBuffers()
ClearScreen(255,0,0)
ExamineKeyboard()
DisplaySprite(0,0,0)
DisplayTransparentSprite(0,400,100)
If KeyboardPushed(#PB_Key_Escape)
End
EndIf
ForEver
sorry hatte den komischen Decoder noch drinne.
Jetzt kommt 2 mal: konnte dx nicht finden
Verfasst: 29.09.2006 21:44
von Kaeru Gaman
also,
mein 3.30 kennt kein
...was soll das eigentlich sein?
davon ab, das X in dem roten Kreis hat meistens noch nen text dabei,
und der ist aussagekräftiger als das X selber...
Verfasst: 29.09.2006 21:48
von Machete @PB
das isses ja da war kein text, hat sich ja jetzt erledigt

Verfasst: 29.09.2006 21:57
von Machete @PB
Nach einigen Änderungen sieht der Code jetzt So aus:
Code: Alles auswählen
InitSprite() : InitKeyboard()
Repeat
OpenScreen(1024,768,32,"Vollbild")
LoadJPEGSprite(0,"GFX\Back.jpg",0)
FlipBuffers()
ClearScreen(0,0,0)
ExamineKeyboard()
DisplaySprite(0,0,0)
DisplayTransparentSprite(0,400,100)
Until KeyboardPushed(#PB_Key_Escape)
End
kann das so überhaupt funktionieren?
jetzt öffnet sich nämlich nichts mehr

irgentwie fühl ich mich dumm, was davon brauch ich eig. um einfach nur dieses .jpg anzuzeigen?

Verfasst: 29.09.2006 22:04
von Zaphod
Für sprites nutzt man übrigens prinzipiell keine jpegs, denn kompressionsartefakte an spriterändern können zu sehr unschönen ergebnissen führen.
Verfasst: 29.09.2006 22:08
von Machete @PB
was?

für was is dann der Befehl LoadJPEGSprite da?
Verfasst: 29.09.2006 23:03
von Zaphod
Damit du es machen kannst, was nicht bedeutet, dass du das so machen sollst. Jpegs sind ok wenn deine sprites keine transparenten bereiche haben, also im Spiel nachher auch viereckig sein sollen. Das dürfte jedoch eher selten der fall sein, wenn du nicht grade einen Tetrisklon schreibst.
Wenn dein sprite transparente bereiche hat, dann kommt es mit ziemlicher sicherheit an den spriterändern zu artefakten.
Also Jpeg sprites sind eine gute idee für große hintergrund bilder oder ähnliches, sonst nimmt man besser artefaktfreie Bildformate.