ButtonImageGadget: Keine Transparenz möglich?

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

ButtonImageGadget: Keine Transparenz möglich?

Beitrag von Delle »

Hallo,

ich habe ein ButtonImageGadget und will dort ein Bild reinsetzen, wo ein Teil transparent ist.

Ich habe es mit .ico und .bmp getestet, beide Male wird der auf transparent gesetzte Hintergrund trotzdem mit angezeigt :-(

Code: Alles auswählen

Image15=CatchImage(15,?Image15):DataSection:Image15:IncludeBinary "zwischenablage.bmp":EndDataSection
Image16=CatchImage(16,?Image16):DataSection:Image16:IncludeBinary "zwischenablage.ico":EndDataSection


OpenWindow(0,0,0,100,100,#PB_Window_SystemMenu,"")

CreateGadgetList(WindowID(0))

ButtonImageGadget(1,5,5,20,20,Image15)
ButtonImageGadget(2,5,40,20,20,Image16)

Repeat 

		EventID = WaitWindowEvent()
     
		If EventID=#PB_Event_CloseWindow:End:EndIf
     
ForEver
Die 2 Dateien:

http://www.rdn80.de/pure/zwischenablage.bmp
http://www.rdn80.de/pure/zwischenablage.ico

Der Code hier nimmt die originalen System-Icons, aber auch da Transparenz-Fehler:

Code: Alles auswählen

Lib.l = OpenLibrary(0,"COMCTL32.DLL") 
Imagelist.l =  CallFunction(0,"ImageList_LoadImage",Lib,"#120",16,0,#CLR_NONE,#IMAGE_BITMAP,#LR_LOADTRANSPARENT) 

OpenWindow(0, 200, 200, 200, 210, #PB_Window_MinimizeGadget, "") 
CreateGadgetList(WindowID()) 
ButtonImageGadget(6,5,5,25,25,CallFunction(0,"ImageList_GetIcon",Imagelist,#PB_ToolBarIcon_Paste ,0))

Repeat 
EventID.l = WaitWindowEvent() 
Until EventID = #PB_EventCloseWindow 
CallFunction(0,"ImageList_Destroy",Lib) 
CloseLibrary(0) 
Benutzeravatar
Batze
Beiträge: 1492
Registriert: 03.06.2005 21:58
Wohnort: Berlin
Kontaktdaten:

Beitrag von Batze »

Es liegt am verwendeten Icon.
Womit hast du das hergestellt, so ist es jedenfalls nicht mit richtiger Transparenz.
Edit:
Habs dir mal richtig gemacht:
http://home.pages.at/knuddies/pb/zwischenablage.ico

Code: Alles auswählen

OpenWindow(0, 200, 200, 200, 210, #PB_Window_MinimizeGadget, "")
CreateGadgetList(WindowID())
LoadImage(0,"Zwischenablage.ico")
ButtonImageGadget(6,5,5,25,25, UseImage(0) )

Repeat
EventID.l = WaitWindowEvent()
Until EventID = #PB_EventCloseWindow
Zuletzt geändert von Batze am 15.12.2005 23:23, insgesamt 1-mal geändert.
Hier sind meine Codes (aber die Seite geht gerade nicht):
http://www.basicpure.de.vu
Benutzeravatar
Delle
Beiträge: 1130
Registriert: 10.05.2005 22:48

Beitrag von Delle »

Einmal mit IrfanView und einmal mit PaintShop... habe gerade einen alten Thread von mir hier entdeckt zum gleichen Thema... Farbe schwarz macht IrfanView bei Auswahl transparent, andere Farben aber nicht.

Komische Sache...
Benutzeravatar
Batze
Beiträge: 1492
Registriert: 03.06.2005 21:58
Wohnort: Berlin
Kontaktdaten:

Beitrag von Batze »

Geht mein Beispiel (das ich eben gepostet hab) ?
Hier sind meine Codes (aber die Seite geht gerade nicht):
http://www.basicpure.de.vu
Benutzeravatar
Delle
Beiträge: 1130
Registriert: 10.05.2005 22:48

Beitrag von Delle »

Ja, anscheinend liegt es wohl an meiner (fehlerhaften) Software mit der ich Icons transparent mache...
Benutzeravatar
Batze
Beiträge: 1492
Registriert: 03.06.2005 21:58
Wohnort: Berlin
Kontaktdaten:

Beitrag von Batze »

Irfan View sollte zwar gehen aber als ich dein Icon mit IconPro geöffnet hab sah man sofort den Fehler. :?
Hier sind meine Codes (aber die Seite geht gerade nicht):
http://www.basicpure.de.vu
Benutzeravatar
Kiffi
Beiträge: 10714
Registriert: 08.09.2004 08:21
Wohnort: Amphibios 9

Beitrag von Kiffi »

Batze hat geschrieben:Irfan View sollte zwar gehen aber als ich dein Icon mit IconPro geöffnet hab sah man sofort den Fehler. :?
IView -- so gut er auch als Viewer ist -- ist ziemlich unkomfortabel, wenn's
um solche Sachen wie Transparenz geht. Dafür ist er ursprünglich ja auch
nicht gedacht gewesen.

Grüße ... Kiffi
Benutzeravatar
Delle
Beiträge: 1130
Registriert: 10.05.2005 22:48

Beitrag von Delle »

Unkomfortabel? Hm ich find das eigentlich ganz easy wie man da die Transparenz am Ende auswählt (nur leider funktioniert es ja nur bie schwarz).
Antworten