Transparentes PNG auf Hintergrund-PNG setzen?

Anfängerfragen zum Programmieren mit PureBasic.
Benutzeravatar
Delle
Beiträge: 1130
Registriert: 10.05.2005 22:48

Transparentes PNG auf Hintergrund-PNG setzen?

Beitrag von Delle »

Hallo,

ist es eigentlich möglich ein transparentes PNG auf ein Hintergrund-PNG zu setzen?

Das transparente PNG ist ein Objekt was freigestellt wurde... also soll nicht nur 50% durchsichtig sein oder sowas.

Danke,
Delle
PB 6.21 | Win 11
Benutzeravatar
STARGÅTE
Kommando SG1
Beiträge: 7031
Registriert: 01.11.2005 13:34
Wohnort: Glienicke
Kontaktdaten:

Re: Transparentes PNG auf Hintergrund-PNG setzen?

Beitrag von STARGÅTE »

Klar, dafür gibs doch DrawAlphaImage()

Damit kannst du ein 32-Bit-Image auf ein anderes 32-Bit-Image zeichnen und dabei noch n Überdreckungsgrad setzen.
PB 6.01 ― Win 10, 21H2 ― Ryzen 9 3900X, 32 GB ― NVIDIA GeForce RTX 3080 ― Vivaldi 6.0 ― www.unionbytes.de
Aktuelles Projekt: Lizard - Skriptsprache für symbolische Berechnungen und mehr
Benutzeravatar
Delle
Beiträge: 1130
Registriert: 10.05.2005 22:48

Re: Transparentes PNG auf Hintergrund-PNG setzen?

Beitrag von Delle »

Du meinst so?

Code: Alles auswählen

UsePNGImageDecoder()
UsePNGImageEncoder()

LoadImage(0,"bg.png")
LoadImage(1,"1b.png")

StartDrawing(ImageOutput(0))
DrawAlphaImage(1,0,0)

SaveImage(0,"3.png",#PB_ImagePlugin_PNG)
Speichert leider nur den Hintergrund ab... komische Sache...
PB 6.21 | Win 11
Benutzeravatar
Bisonte
Beiträge: 2468
Registriert: 01.04.2007 20:18

Re: Transparentes PNG auf Hintergrund-PNG setzen?

Beitrag von Bisonte »

mach vor dem SaveImage() noch flink ein StopDrawing() und dann gehts ;) obwohl eigentlich der compiler haette mosern müssen ....
PureBasic 6.21 (Windows x86/x64) | Windows11 Pro x64 | AsRock B850 Steel Legend Wifi | R7 9800x3D | 64GB RAM | GeForce RTX 5080 | ThermaltakeView 270 TG ARGB | build by vannicom​​
Benutzeravatar
Delle
Beiträge: 1130
Registriert: 10.05.2005 22:48

Re: Transparentes PNG auf Hintergrund-PNG setzen?

Beitrag von Delle »

Ist jetzt drin, aber 3.png ist trotzdem nur bg.png :/

Code: Alles auswählen

UsePNGImageDecoder()
UsePNGImageEncoder()

LoadImage(0,"bg.png")
LoadImage(1,"1b.png")

StartDrawing(ImageOutput(0))
DrawAlphaImage(1,0,0)
StopDrawing()

SaveImage(0,"3.png",#PB_ImagePlugin_PNG)
PB 6.21 | Win 11
Benutzeravatar
STARGÅTE
Kommando SG1
Beiträge: 7031
Registriert: 01.11.2005 13:34
Wohnort: Glienicke
Kontaktdaten:

Re: Transparentes PNG auf Hintergrund-PNG setzen?

Beitrag von STARGÅTE »

Jo, wieder mal die ImageID falle ^^

Code: Alles auswählen

UsePNGImageDecoder()
UsePNGImageEncoder()

LoadImage(0,"bg.png")
LoadImage(1,"1b.png")

StartDrawing(ImageOutput(0))
DrawAlphaImage(ImageID(1),0,0)
StopDrawing()

SaveImage(0,"3.png",#PB_ImagePlugin_PNG)
PB 6.01 ― Win 10, 21H2 ― Ryzen 9 3900X, 32 GB ― NVIDIA GeForce RTX 3080 ― Vivaldi 6.0 ― www.unionbytes.de
Aktuelles Projekt: Lizard - Skriptsprache für symbolische Berechnungen und mehr
Benutzeravatar
Delle
Beiträge: 1130
Registriert: 10.05.2005 22:48

Re: Transparentes PNG auf Hintergrund-PNG setzen?

Beitrag von Delle »

Argh... jetzt gehts, dankschee! :)
PB 6.21 | Win 11
Antworten