Page 1 sur 1

Sauvegarder une icône en PNG

Publié : mar. 03/avr./2012 9:30
par Le Soldat Inconnu
Salut,

Suite à une question de Mesa pour sauver une icône au format BMP.

voici un code pour sauver une icône au format PNG, je trouve idiot le BMP car il ne supporte pas la transparence de l'icône.

bref, si ça peut servir.

Code : Tout sélectionner

UsePNGImageEncoder()

Procedure SaveIconAsPng(Icone, Size, File.s)
	If Size > 0
		Image = CreateImage(#PB_Any, Size, Size, 32 | #PB_Image_Transparent) ; Création d'une image de la même dimension
		If Image
			StartDrawing(ImageOutput(Image))
				DrawImage(Icone, 0, 0) ; Dessin de l'icône sur l'image
			StopDrawing()
			SaveImage(Image, File, #PB_ImagePlugin_PNG) ; Sauvegarde de l'image
			FreeImage(Image)
		EndIf
	EndIf
EndProcedure
pour tester, il faut ma librairie IconEx

Code : Tout sélectionner

Fichier.s = OpenFileRequester("icone", "", "Icone|*.ico", 1)
IconEx_LoadIconFile(Fichier)
Icone = IconEx_ExtractIcon(32)
IconEx_FreeIcon()
SaveIconAsPng(Icone, 32, "test.png")