Sauvegarder une icône en PNG

Partagez votre expérience de PureBasic avec les autres utilisateurs.
Le Soldat Inconnu
Messages : 4312
Inscription : mer. 28/janv./2004 20:58
Localisation : Clermont ferrand OU Olsztyn
Contact :

Sauvegarder une icône en PNG

Message 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")
Je ne suis pas à moitié Polonais mais ma moitié est polonaise ... Vous avez suivi ?

[Intel quad core Q9400 2.66mhz, ATI 4870, 4Go Ram, XP (x86) / 7 (x64)]