ImageGadget ein neues Bild geben
-
- Beiträge: 700
- Registriert: 19.10.2014 15:51
- Kontaktdaten:
Re: ImageGadget ein neues Bild geben
Bist du dir sicher?
Etwas über Transparents kann ich nur bei Sprites entdecken.
Ich möchte aber transparente PNGs in ein ImageGadget laden.
Etwas über Transparents kann ich nur bei Sprites entdecken.
Ich möchte aber transparente PNGs in ein ImageGadget laden.
Ich programmiere nur noch mit Linux.
Linux Mint 21.x
Linux Mint 21.x
Re: ImageGadget ein neues Bild geben
(abgeändertes) Beispiel aus der PB-Hilfe:
Grüße ... Peter
Code: Alles auswählen
UsePNGImageDecoder()
OpenWindow(0, 0, 0, 245, 105, "ImageGadget", #PB_Window_SystemMenu | #PB_Window_ScreenCentered)
SetWindowColor(0, RGB(255,0,0))
If LoadImage(0, #PB_Compiler_Home + "Examples\Sources\Data\world.png")
ImageGadget(0, 10, 10, 100, 83, ImageID(0))
EndIf
Repeat : Until WaitWindowEvent() = #PB_Event_CloseWindow
a²+b²=mc²
-
- Beiträge: 700
- Registriert: 19.10.2014 15:51
- Kontaktdaten:
Re: ImageGadget ein neues Bild geben
Danke für dein Beispiel, leider findet der Compiler das Bild nicht, egal.
Ich habe ein anderes PNG-Bild genommen - und es funktioniert nicht.
Ich habe erst gedacht, der Befehl SetWindowColor(0, RGB(255,0,0)) hätte irgendeine Auswirkung, aber es ist vollkommen egal, welche Hintergrundfarbe das Fenster hat.
Wenn ich es richtig verstanden habe, langt folgender Befehl, um ein PNG-Image transparent darzustellen:
If LoadImage(0, bilderordner+"mario.png")
ImageGadget(0, 10, 10, 100, 83, ImageID(0))
EndIf
Nun habe ich so einige PNG-Images ausprobiert - sie haben dort, wo Transparenz sein soll, immer einen grauen Hintergrund.
Muss ich evtl an der IDE etwas einstellen?
Ich habe ein anderes PNG-Bild genommen - und es funktioniert nicht.
Ich habe erst gedacht, der Befehl SetWindowColor(0, RGB(255,0,0)) hätte irgendeine Auswirkung, aber es ist vollkommen egal, welche Hintergrundfarbe das Fenster hat.
Wenn ich es richtig verstanden habe, langt folgender Befehl, um ein PNG-Image transparent darzustellen:
If LoadImage(0, bilderordner+"mario.png")
ImageGadget(0, 10, 10, 100, 83, ImageID(0))
EndIf
Nun habe ich so einige PNG-Images ausprobiert - sie haben dort, wo Transparenz sein soll, immer einen grauen Hintergrund.
Muss ich evtl an der IDE etwas einstellen?
Ich programmiere nur noch mit Linux.
Linux Mint 21.x
Linux Mint 21.x
Re: ImageGadget ein neues Bild geben
das Bild ist Bestandteil einer regulären Installation.stevie1401 hat geschrieben:Danke für dein Beispiel, leider findet der Compiler das Bild nicht, egal.
die rote Hintergrundfarbe habe ich gewählt, damit man den Transparenz-Effekt besser sehen kann.stevie1401 hat geschrieben:Ich habe erst gedacht, der Befehl SetWindowColor(0, RGB(255,0,0)) hätte irgendeine Auswirkung
Nein, musst Du nicht.stevie1401 hat geschrieben:Muss ich evtl an der IDE etwas einstellen?
Welche PB-Version hast Du? Auf welchem OS entwickelst Du?
Grüße ... Peter
a²+b²=mc²
-
- Beiträge: 700
- Registriert: 19.10.2014 15:51
- Kontaktdaten:
Re: ImageGadget ein neues Bild geben
PB Version 530 (Demo)
Linux Ubuntu
24 Bit Grafiktiefe
Linux Ubuntu
24 Bit Grafiktiefe
Ich programmiere nur noch mit Linux.
Linux Mint 21.x
Linux Mint 21.x
Re: ImageGadget ein neues Bild geben
ok, dann müssen die Linuxer was dazu sagen. Unter Windows funktioniert es zumindest ohne Probleme.stevie1401 hat geschrieben:PB Version 530 (Demo)
Linux Ubuntu
24 Bit Grafiktiefe
Grüße ... Peter
a²+b²=mc²
-
- Beiträge: 700
- Registriert: 19.10.2014 15:51
- Kontaktdaten:
Re: ImageGadget ein neues Bild geben
Es muss am ImageGadget liegen.
Ich übe gerade das TreeGadget und dess Einträge.
Bei einem Treegarget kann man ja mit AddGadgetItem (GadgetID, -1, "ein Text", ImageID(NrDesGeladenenBildes), 0) ein Bild laden.
Dort funktioniert die Transparents.
Ich übe gerade das TreeGadget und dess Einträge.
Bei einem Treegarget kann man ja mit AddGadgetItem (GadgetID, -1, "ein Text", ImageID(NrDesGeladenenBildes), 0) ein Bild laden.
Dort funktioniert die Transparents.
Ich programmiere nur noch mit Linux.
Linux Mint 21.x
Linux Mint 21.x
- NicTheQuick
- Ein Admin
- Beiträge: 8809
- Registriert: 29.08.2004 20:20
- Computerausstattung: Ryzen 7 5800X, 64 GB DDR4-3200
Ubuntu 24.04.2 LTS
GeForce RTX 3080 Ti - Wohnort: Saarbrücken
Re: ImageGadget ein neues Bild geben
Nicht ganz. Der richtige Pfad ist "examples/sources/Data/world.png", zumindest unter Linux. Keine Ahnung, ob "Examples" und "Sources" unter Windows tatsächlich groß geschrieben werden. Dazu kommt ja noch, dass Windows Backslashes verwendet.Kiffi hat geschrieben:das Bild ist Bestandteil einer regulären Installation.stevie1401 hat geschrieben:Danke für dein Beispiel, leider findet der Compiler das Bild nicht, egal.
Nachtrag:
Im Übrigen wird bei mir auch keine Transparenz angezeigt. Das ist dann also entweder ein Bug oder geht nur zufällig unter Windows so.
Re: ImageGadget ein neues Bild geben
ach, diese CaseSensitive-Kiste bei Euch. Ok, daran kann es natürlich liegen.
@stevie1401, dann müsste das wohl so aussehen:
Grüße ... Peter
@stevie1401, dann müsste das wohl so aussehen:
Code: Alles auswählen
If LoadImage(0, #PB_Compiler_Home + "examples/sources/Data/world.png")
[...]
ja, werden sie.NicTheQuick hat geschrieben:Keine Ahnung, ob "Examples" und "Sources" unter Windows tatsächlich groß geschrieben werden.
Grüße ... Peter
a²+b²=mc²
- NicTheQuick
- Ein Admin
- Beiträge: 8809
- Registriert: 29.08.2004 20:20
- Computerausstattung: Ryzen 7 5800X, 64 GB DDR4-3200
Ubuntu 24.04.2 LTS
GeForce RTX 3080 Ti - Wohnort: Saarbrücken
Re: ImageGadget ein neues Bild geben
Das ist dann aber zugegebenermaßen etwas dämlich von Fred. Warum ist das nicht OS-übergreifend gleich mit der Groß- und Kleinschreibung? Dann gehen ja auch die Beispiele in der Hilfe nicht, oder wird die Hilfe da für jedes OS nochmal extra angepasst?Kiffi hat geschrieben:ja, werden sie.NicTheQuick hat geschrieben:Keine Ahnung, ob "Examples" und "Sources" unter Windows tatsächlich groß geschrieben werden.
