PNG mit Alphachannel

Probleme beim Erstellen von 3D-Modellen und Texturen, keine Ahnung womit man Musik macht? Dies ist dein Forum.
Benutzeravatar
hörmi
Beiträge: 106
Registriert: 10.07.2007 15:20
Kontaktdaten:

PNG mit Alphachannel

Beitrag von hörmi »

hey,
wollte mal fragen ob ihr wisst wie ich unter purebasic ein png bild mit alphachannel erstellen kann bzw ob es überhaupt möglich ist ein png bild zu erstellen
Dare Devil
Beiträge: 237
Registriert: 17.10.2008 18:24
Kontaktdaten:

Beitrag von Dare Devil »

Der Alpha-Kanal wird momentan noch nicht unterstuetzt (evtl. mit einer externen Bibliothek wie z.B. FreeImage oder was es da alles gibt) - ansonsten kann man in PB ImageObjekte auch als PNG speichern, mit SaveImage(). Es muss nur UsePNGImageEncoder() vorher ausgefuehrt werden. Damiit koennte man sich auf sehr leichtem Wege einen Konverter basteln :)
PB Hilfe hat geschrieben:Die PNG Alphachannel Information (wenn vorhanden) wird derzeit ignoriert.
Bild + Bild

Bild
Benutzeravatar
ZeHa
Beiträge: 4760
Registriert: 15.09.2004 23:57
Wohnort: Friedrichshafen
Kontaktdaten:

Beitrag von ZeHa »

Kommt auch drauf an was Du vor hast. Wenn Du Spiele machen willst, kannst Du PNGs mit Alphakanal nutzen, nämlich in Verbindung mit Sprite3D, da läuft das ohne Probleme.
Bild     Bild

ZeHa hat bisher kein Danke erhalten.
Klicke hier, wenn Du wissen möchtest, woran ihm das vorbeigeht.
Benutzeravatar
hörmi
Beiträge: 106
Registriert: 10.07.2007 15:20
Kontaktdaten:

Beitrag von hörmi »

Dare Devil hat geschrieben:
PB Hilfe hat geschrieben:Die PNG Alphachannel Information (wenn vorhanden) wird derzeit ignoriert.
Ich möchte ein png mit alphachannel abspeichern
also ich hab ein bitmap/jpeg mit dem bild und dann ein zweites in graustufen sozusagen als alphakanal und dann möchte ich aus diesen zwei bildern eins machen und dann speichern ohne es weiter in pb selbst zu verwenden
Kaeru Gaman
Beiträge: 17389
Registriert: 10.11.2004 03:22

Beitrag von Kaeru Gaman »

schau mal im englischen forum, da gibts einige beispiele wie man über API direkt auf die bilder zugreifen kann.

Dare Devil hat geschrieben:
PB Hilfe hat geschrieben:Die PNG Alphachannel Information (wenn vorhanden) wird derzeit ignoriert.
wär noch interessant zu wissen bei welchem befehl du das gefunden hast,
ist nämlich so längst nicht mehr aktuell.
für Sprite3D kann man den Alphachannel einwandfrei benutzen.
http://www.purebasic.fr/german/viewtopi ... 771#207771

... in wieweit allerdings bei einem Image die 32bit korrekt abspeicherbar sind, weiß ich jetzt nicht.
aber wie gesagt, die jungs im englischen forum haben sich damit schon mehr auseinandergesetzt.
Der Narr denkt er sei ein weiser Mann.
Der Weise weiß, dass er ein Narr ist.
Dare Devil
Beiträge: 237
Registriert: 17.10.2008 18:24
Kontaktdaten:

Beitrag von Dare Devil »

Kaeru Gaman hat geschrieben:schau mal im englischen forum, da gibts einige beispiele wie man über API direkt auf die bilder zugreifen kann.

Dare Devil hat geschrieben:
PB Hilfe hat geschrieben:Die PNG Alphachannel Information (wenn vorhanden) wird derzeit ignoriert.
wär noch interessant zu wissen bei welchem befehl du das gefunden hast,
ist nämlich so längst nicht mehr aktuell.
für Sprite3D kann man den Alphachannel einwandfrei benutzen.
http://www.purebasic.fr/german/viewtopi ... 771#207771

... in wieweit allerdings bei einem Image die 32bit korrekt abspeicherbar sind, weiß ich jetzt nicht.
aber wie gesagt, die jungs im englischen forum haben sich damit schon mehr auseinandergesetzt.
Unter den Befehlen UsePNGImageDecoder() sowie bei UsePNGImageEncoder().

wobei ich gerade lese, dass wenn man ein Sprite (nicht 3D-Sprite!) mit dem zusaetzlichen Flag "#PB_Sprite_Alpha" laedt, man eine 8 Bit - Graustufendatei mit DisplayAlphaSprite() (wie sie vermutlich auch hoermi besitzt) anzeigen kann.
Damit waere hoermi's Problem eigentlich zu bewaeltigen. Man laedt die normale Datei, die Graustufendatei, erstellt ein Image - zeigt alles an so wie man es gespeichert haben will und speichert anschliessend das Image - allerdings halt ohne direkten Alpha-Kanal, sondern sozusagen als "Snapshot".
Bild + Bild

Bild
Antworten