Code: Alles auswählen
;Modul Icon2Image Version 1.07 vom 21.04.2008
;#PB_Vers = "4.20"
;
;Funktion: Umformung Icon --> PB-Image
; Ein Icon -z.Bsp. von LoadIcon_() oder ExtractIconEx_()- wird zu
; einem PB-Image umgesetzt und die #ImageNr des neuen Images wird
; zurückgeliefert.
;
;Aufruf: ImageNr = Icon2Image(IconID {,HG_Farbe})
; IconID: Handle des umzusetzenden Quell-Icon´s
; HG_Farbe: Hintergrund-Farbe für transparente Icon´s, wenn nicht
; angegeben, so wird FensterRahmen-Farbe benutzt
;
; Diese Funktion liefert die #ImageNr des erzeugten PB-Images oder
; 0, wenn ein ungültiges Icon übergeben wurde.
;
;#jaPBeExt exit
Procedure Icon2Image(IconID, HG_Col = - 1)
Protected IconBr, IconHo, IconInfo.ICONINFO
Protected ImgNr, ImgID, ImgHDC
If GetIconInfo_(IconID, @IconInfo) ;check Icon & get IconSize:
IconBr = IconInfo\xHotspot * 2
IconHo = IconInfo\yHotspot * 2
ImgNr = CreateImage(#PB_Any, IconBr, IconHo)
ImgHDC = StartDrawing(ImageOutput(ImgNr))
If HG_Col<0 : HG_Col = GetSysColor_(#COLOR_3DFACE): EndIf
Box(0, 0, IconBr, IconHo, HG_Col)
#DI_NORMAL = 3
DrawIconEx_(ImgHDC, 0, 0, IconID, IconBr, IconHo, 0, 0, #DI_NORMAL)
StopDrawing()
EndIf
ProcedureReturn ImgNr
EndProcedure