
ça vous arrive de créer des icônes pour vos programmes?, pour vos toolbar?ou autre? ... actuellement je me fait pas mal de programme et je n'aime pas charger mes icônes avec "loadimage" si l'utilisateur d'un programme change le nom de l'icône ou si l'icône est déplacé dans un autre répertoire voir même supprimer, impossible de charger l'icône.(et puis ça fait des fichiers en plus

Je c'est pas si ce petit programme vous sera utile, en tous cas moi il me sert bien. Ce programme convertir une image et le transforme en un jolie code source sur PureBasic du coup il devient possible de mettre vos image DANS le programme.
L'inconvénient de mon programme c'est qu'il est un peu lent sur les grosses image, en faites mon programme et plutôt fait pour les petit image qui sert a faire vos icones...
Enfin bref je vous laisse découvrir mon prog je vous donne le code source ci-dessous, Dite moi ce que vous en pensez

PS: Seulement 150 lignes et encore je pense que je peux l'amélioré.
Voici une image que j'ai utiliser pour mes test sur le programme, ça passe tranquillou même si ça mais un peu de temps à être convertie.

http://www.360fury.com/Fury01/wp-conten ... /halo3.jpg
;================================
; Convert IMG-PB ( Version 1.0 )
; Fait par Néosis
;================================
; Permet de convertir les images en codes sources PureBasic
Enumeration
#bar
#BP_convertir
#BP_image
#IMAGE_encour
#File
#script
#text_info
#text_info2
#text_info3
#text_image
#text_progres
#WINDOW_PRINCIPALE
EndEnumeration
;============================= Procédure ============================
Procedure Charger_Image()
Shared CHARGEMENT,Fichier$
CHARGEMENT = #True
FichierParDefaut$ = "*.png"
Filtre$ = "(*.bmp)|*.bmp;*.bat|(*.png)|*.png;*.bat|(*.jpg)|*.jpg;*.bat| Tous les fichiers (*.*)|*.*"
Filtre = 0 ; utiliser par défaut le premier des trois filtres possibles
Fichier$ = OpenFileRequester("Choisissez un fichier à charger",FichierParDefaut$,Filtre$,Filtre)
EndProcedure
Procedure Script()
Width_Img= ImageWidth(#IMAGE_encour)
Height_Img= ImageHeight(#IMAGE_encour)
Nb_Pixel = Width_Img*Height_Img
; Réalisation des datas pour les données de l'image
AddGadgetItem(#script,Ligne,"DataSection"):Ligne+1
StartDrawing(ImageOutput(#IMAGE_encour))
Progression.d
For y=0 To Height_Img-1
Progression=((y*Width_Img)/Nb_Pixel)*100
SetGadgetText(#text_progres,Str(Progression)+"%")
SetGadgetState(#bar,Progression)
While x<Width_Img
CouleurDATA1 = Point(x,y) : CouleurDATA2 = Point(x+1,y)
CouleurDATA3 = Point(x+2,y) : CouleurDATA4 = Point(x+3,y)
CouleurDATA5 = Point(x+4,y) : CouleurDATA6 = Point(x+5,y)
CouleurDATA7 = Point(x+6,y) : CouleurDATA8 = Point(x+7,y)
AddGadgetItem(#script,Ligne,"Data.l "+Str(CouleurDATA1)+","+Str(CouleurDATA2)+","+Str(CouleurDATA3)+","+Str(CouleurDATA4)+","+Str(CouleurDATA5)+","+Str(CouleurDATA6)+","+Str(CouleurDATA7)+","+Str(CouleurDATA8)):Ligne+1
x+8
If Width_Img-x<8
aug=Width_Img-x
Ligne$= ""
For i=0 To aug-1
Ligne$=Ligne$+Str(Point(x+i,y))+","
Next
Ligne$="Data.l "+Ligne$
Ligne$=Left(Ligne$,Len(Ligne$)-1)
AddGadgetItem(#script,Ligne,Ligne$):Ligne+1
Break
EndIf
Wend
Delay(2)
x=0
Next
StopDrawing()
AddGadgetItem(#script,Ligne,"EndDataSection"):Ligne+1
; Générer le script permetant de lire les datas et de recréer l'image
AddGadgetItem(#script,Ligne,""):Ligne+1
AddGadgetItem(#script,Ligne,"CreateImage(#Img,"+Str(Width_Img)+","+Str(Height_Img)+")"):Ligne+1
AddGadgetItem(#script,Ligne,"StartDrawing(ImageOutput(#Img))"):Ligne+1
AddGadgetItem(#script,Ligne,"For y=0 To "+Str(Height_Img-1)):Ligne+1
AddGadgetItem(#script,Ligne,"For x=0 To "+Str(Width_Img-1)):Ligne+1
AddGadgetItem(#script,Ligne,"Read Couleur"):Ligne+1
AddGadgetItem(#script,Ligne,"Plot(x,y,Couleur)"):Ligne+1
AddGadgetItem(#script,Ligne,"Next"):Ligne+1
AddGadgetItem(#script,Ligne,"Next"):Ligne+1
AddGadgetItem(#script,Ligne,"StopDrawing()"):Ligne+1
Progression=100
SetGadgetText(#text_progres,Str(Progression)+"%")
SetGadgetState(#bar,Progression)
CloseWindow(#File)
EndProcedure
Procedure Info()
OpenWindow(#File,400,300,400,125," Information ",#PB_Window_ScreenCentered)
CreateGadgetList(WindowID(#File))
TextGadget(#text_info,5,10,390,30," Vueillez patientez pendant la conversion de l'image en données data..., n'éfféctuez aucune opération pendant la conversion.",#PB_Text_Center)
TextGadget(#text_info2,5,45,390,45," Lorsque la conversion sera terminer faites un clic sur l'espace code puis faites ' Ctrl+C ' pour copier le code ensuite coller celui-ci dans votre fichier PureBasic avec ' Ctrl+V '.",#PB_Text_Center)
TextGadget(#text_info3,5,105,390,15," Ne faites rien tant que la conversion n'est pas terminer ...",#PB_Text_Center)
EndProcedure
;====================== Ouverture du Programme ======================
ExamineDesktops()
hauteur_win=DesktopHeight(0)-100
OpenWindow(#WINDOW_PRINCIPALE,50,10,435,hauteur_win," Convertir image ",#PB_Window_MinimizeGadget|#PB_Window_SystemMenu)
UsePNGImageDecoder() : UseJPEGImageDecoder()
CreateGadgetList(WindowID(#WINDOW_PRINCIPALE))
ButtonGadget(#BP_image,10,5,120,20," Choisir une image ")
ButtonGadget(#BP_convertir,10,28,120,20," Convertir l'Image ")
TextGadget(#text_image,140,7,260,40," Choisisser votre image ")
EditorGadget(#script,10,50,380,hauteur_win-60)
ProgressBarGadget(#bar,400,50,25,hauteur_win-60,0,100,#PB_ProgressBar_Vertical)
TextGadget(#text_progres,403,30,30,15,"0 %")
DisableGadget(#BP_convertir,1)
;====================== Gestions des événements ======================
Repeat
Evenement = WaitWindowEvent()
Select Evenement
Case #PB_Event_Gadget
id_gadget = EventGadget()
Select id_gadget
Case #BP_image
Charger_Image()
Case #BP_convertir
Info()
Script() ; On réalise le code source de l'image
EndSelect
EndSelect
If Fichier$ And CHARGEMENT = #True
SetGadgetText(#text_image,Fichier$)
LoadImage(#IMAGE_encour,Fichier$)
DisableGadget(#BP_convertir,0)
CHARGEMENT = #False
EndIf
Until Evenement = #PB_Event_CloseWindow
End