also ich brauche .ico mit transparenten hintergrund.
ich hab mit photoshop 7 ein bild gemacht einmal mit transparenten und einmal ohne transparenten hintergrund.
beides habe ich dann mit ifran view zu ico gemacht.
doch der hintergrund wird nicht transparent.
ich habs mit "save transparent color" versucht und den hintergrund angeklickt, aber der wird dann nur etwas blasser O.o
gibts vll bei ico ein maximale farben? (8bit-16bit-24bit-32bit)
ICO Transparent, geht aber nicht
- vonTurnundTaxis
- Beiträge: 2130
- Registriert: 06.10.2004 20:38
- Wohnort: Bayreuth
- Kontaktdaten:
dankevonTurnundTaxis hat geschrieben:Versuchs mal hiermit.
//Nachtrag:
Da die Herstellerseiter gerade offline zu sein scheint...

Hier noch ein wunderschöner Code aus dem Englischen Forum,
Pb kanns schließlich auch
Pb kanns schließlich auch

Code: Alles auswählen
; This Function creates 2 new Images out of the Icon.
; The Image specified in 'Image.l' will hold the Icon Image, and
; the one in 'Mask.l' will hold the Icon AND Mask. This is a Black&White
; Bitmap image, where all white parts are transparent in the Icon.
; All numbers here are PB #Image numbers.
Procedure SplittIcon(Icon.l, Image.l, Mask.l)
UseImage(Icon)
If CreateImage(Image, ImageWidth(), ImageHeight())
DC.l = StartDrawing(ImageOutput())
DrawIconEx_(DC, 0, 0, UseImage(Icon), 0, 0, 0, 0, 2)
StopDrawing()
EndIf
If CreateImage(Mask, ImageWidth(), ImageHeight())
DC.l = StartDrawing(ImageOutput())
DrawIconEx_(DC, 0, 0, UseImage(Icon), 0, 0, 0, 0, 1)
StopDrawing()
EndIf
UseImage(Image)
EndProcedure
; This Function creates a new Icon, out of the Images specified in Image and Mask.
; Both must be of the same size, and the Mask may only contain black and white.
Procedure.l CreateIcon(Icon.l, Image.l, Mask.l)
Protected *Bitmap.LONG
UseImage(Image)
CreateImage(Icon, ImageWidth(), ImageHeight())
!extrn _PB_Image_CurrentObject
!mov eax, [_PB_Image_CurrentObject]
!mov [esp+12], eax
DeleteObject_(*Bitmap\l)
NewIcon.ICONINFO
NewIcon\fIcon = #True
NewIcon\hbmMask = UseImage(Mask)
NewIcon\hbmColor = UseImage(Image)
*Bitmap\l = CreateIconIndirect_(@NewIcon)
ProcedureReturn UseImage(Icon)
EndProcedure
#Icon = 0
#Image = 1
#Mask = 2
Font.l = LoadFont(0, "Times", 8)
If OpenWindow(0, 0, 0, 100, 50, #PB_Window_SystemMenu|#PB_Window_ScreenCentered, "Icon")
If CreateGadgetList(WindowID())
; Create and draw the Icon Image:
CreateImage(#Image, 16, 16)
StartDrawing(ImageOutput())
DrawingMode(1)
FrontColor($FF, $00, $00)
Locate(2, 2)
DrawingFont(Font)
DrawText("PB")
StopDrawing()
; See the result:
ImageGadget(1, 20, 20, 32, 32, ImageID())
; Create and draw the mask. Everything that is white
; will be transparent, everything black will be displayed.
; so we just draw the same as above in black on a white background.
CreateImage(#Mask, 16, 16)
StartDrawing(ImageOutput())
Box(1, 1, 14, 14, $FFFFFF)
FrontColor($00, $00, $00)
DrawingMode(1)
Locate(2, 2)
DrawingFont(Font)
DrawText("PB")
StopDrawing()
; Yet another test:
ImageGadget(1, 60, 20, 32, 32, ImageID())
; Now we make our new #Icon out of these 2...
CreateIcon(#Icon, #Image, #Mask)
; And place it in the systray.
AddSysTrayIcon(0, WindowID(), ImageID())
Repeat
Until WaitWindowEvent() = #PB_EventCloseWindow
EndIf
EndIf
End
-
- Beiträge: 17389
- Registriert: 10.11.2004 03:22
- ts-soft
- Beiträge: 22292
- Registriert: 08.09.2004 00:57
- Computerausstattung: Mainboard: MSI 970A-G43
CPU: AMD FX-6300 Six-Core Processor
GraKa: GeForce GTX 750 Ti, 2 GB
Memory: 16 GB DDR3-1600 - Dual Channel - Wohnort: Berlin
>> nö.. API does it... steht doch da
Alles API, gewrapped und ungewrapped
Alles API, gewrapped und ungewrapped

PureBasic 5.73 LTS | SpiderBasic 2.30 | Windows 10 Pro (x64) | Linux Mint 20.1 (x64)
Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.

Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.
