image to Icone (et pixeliseur)

Partagez votre expérience de PureBasic avec les autres utilisateurs.
Avatar de l’utilisateur
Kwai chang caine
Messages : 6962
Inscription : sam. 23/sept./2006 18:32
Localisation : Isere

Re: image to Icone

Message par Kwai chang caine »

Merci de ton explication ZORRO 8)
Ce serait donc ça :(

C'est vrai que la plupart des images du web, sont en jpg, et même si elles sont grandes, elle n'en reste pas moins compressée
Je pensais bêtement que même compressée, si elles étaient bien plus grandes, et qu'on les réduisait, on avait bien assez de pixels, puisque l'on réduit pour faire un bel icone...

Artiste comme toi, j'aurais toujours rêvé l'être.
J'ai toujours admiré le talent des peintres sur les trottoirs, les murs, etc. ..
Bien souvent pour eux, c'est banal...ils sont nés avec...Et ça. ..ca me blase.... :roll:

Deja petit, être félicité pour ton joli dessin de chien, alors que je m'étais evertué à bien faire ressortir les généreuses mamelles d'un de mes ruminants laitier préféré :?
J'ai vite compris, comme pour la programmation d'ailleurs, qu'adulte, je ne serais pas une figure de proue de l'équipe marvel :oops:

Alors, essayer de dessiner un icone....je vais pas oser...
Audiard disait que c'est à ça qu'on les reconnaît, ça me laisse donc un peu d'espoir. ..J'suis peut être pas si con que ça :lol:
ImageLe bonheur est une route...
Pas une destination

PureBasic Forum Officiel - Site PureBasic
Avatar de l’utilisateur
Zorro
Messages : 2185
Inscription : mar. 31/mai/2016 9:06

Re: image to Icone

Message par Zorro »

deja test le code que je donne en premiere partie de ce topic ;)
il permet de transformer une image (ou photo) en icone ... rien de plus simple :)

pis sinon , il faut comprendre que le pixel Art c'est l'art de reproduire une chose en pixel
en moins de pixel possible ...

tiens tiens ... en clair c'est un peu comme pixeliser en fait ... et un ordinateur, ben ça sait tres bien pixeliser :)

la preuve : ce petit code , tu charges une image , et tu choisi un taux de pixelisation
et le bouton calcul fait le boulot :)

plus qu'a sauver , et a encoder en icone avec le code ci dessus :)

voici le Pixeliser qui tue sa race :)
avec ça, tu va devenir le pro du Pixel-art :lol:

Image

Code : Tout sélectionner

;***********************************************
;Titre  :Pixeliser
;Auteur  : Zorro
;Date  :15/10/2016
;Heure  :16:43:42
;Version Purebasic :  PureBasic 5.50 (Windows - x64)
;Version de l'editeur :EPB V2.64
; Libairies necessaire : Aucune 
;***********************************************

;***********************************************
;{- Enumerations / DataSections
;{ Windows
UseJPEGImageDecoder()
UseJPEGImageEncoder()
UsePNGImageDecoder()
UsePNGImageEncoder()
Enumeration
		#Win
		#file
EndEnumeration
;}
;{ Gadgets
Enumeration
		#Image_0
		#Image_1
		#Text_Titre
		#Text_auteur
		#Button_Load
		#Button_Save
		#Button_calcul
		#progress_calcul
		#image_origine
		#image_origine_gadget
		#image_modifie
		#image_modifie_gadget
		#image_modifie2
		#Text_version
		
		#valeur
		#batch_convert
		#valeur_text
EndEnumeration
;}
;{ Fonts
Enumeration
		#Font_Text_Titre
EndEnumeration
;}
;{ Images
Enumeration
		#Image_Image_0
		#Image_Image_1
EndEnumeration
;}
Structure image_file
		image_file.s
		image_file_batch.s
		repertoire_sortie.s
		here.s
		name_image.s
		extens_image.s
		Largeur_image.i
		hauteur_image.i
		vall.i
EndStructure
Global image_file.image_file
Global Dim Image_or.d(1,1)
Global Dim Image_res.d(1,1)

; **********************************
;-declaration Procedures
Declare openwindow_win()
Declare calcul()
Declare save(flag)
Declare load(flag)
Declare save_ini()
Declare load_ini()

; **********************************
Define.l Event
;}
Load_ini()
OpenWindow_Win()
;{- Event loop
Repeat
		Event = WaitWindowEvent(12)
		Select Event
				; ///////////////////
		Case #PB_Event_Gadget
				Select EventGadget()
				Case #Image_0
				Case #Image_1
				Case #batch_convert
						;-bath_convert
						image_file\image_file_batch.s=OpenFileRequester("choisir Les images a convertir",image_file\here.s,"*.jpg;*.png;*.bmp",1,#PB_Requester_MultiSelection)
						image_file\repertoire_sortie.s=PathRequester("indiquez le repertoire de sortie",image_file\here.s)
						While image_file\image_file_batch.s
								;Debug image_file\image_file_batch.s
								SetWindowTitle(#win,"calcul img:"+image_file\image_file_batch.s)
								image_file\image_file.s=image_file\image_file_batch.s
								;load image en cours
								Load(#true)
								;calcul
								Calcul()
								image_file\image_file_batch.s = NextSelectedFileName()
								save(#True)
						Wend
						
				Case #Text_Titre
				Case #Text_auteur
				Case #Button_Load
						;-load
						Load(#false)
				Case #Button_Save
						;-Save
						save(#false)
				Case #Button_calcul
						;-calcul
						Calcul()
				Case #valeur						
						image_file\vall.i=getGadgetstate(#Valeur)
						SetGadgetText(#valeur_text,str(image_file\vall.i))
				EndSelect
				; ////////////////////////
		Case #PB_Event_CloseWindow
				Select EventWindow()
				Case #Win
						Save_ini()
						CloseWindow(#Win)
						Break
				EndSelect
		EndSelect
Forever
;
;}
;- Procedures Zone
Procedure OpenWindow_Win()
		If OpenWindow(#Win, 271, 98, 600, 550, "Pixeliser by Dobro", #PB_Window_SystemMenu|#PB_Window_MinimizeGadget|#PB_Window_TitleBar)
				;;If CreateGadgetList(WindowID(#Win))
				ImageGadget(#Image_0, 230, 10, 325, 235, 0, #PB_Image_Border)
				ImageGadget(#Image_1, 230, 270, 325, 235, 0, #PB_Image_Border)
				TextGadget(#Text_Titre, 10, 15, 180, 40, "Pixeliser")
				TextGadget(#Text_version, 10, 55, 50, 40,Version.s )
				TextGadget(#Text_auteur, 10, 95, 50, 20, "By Zorro")
				ButtonGadget(#Button_calcul, 10, 375, 55, 50, "Calcul")
				ProgressBarGadget(#progress_calcul, 70, 375+35,150, 15, 1, 100)
				ButtonGadget(#Button_Load, 10, 440, 80, 25, "Load")
				ButtonGadget(#Button_Save, 10, 470, 80, 25, "Save")
				ButtonGadget(#batch_convert,130, 470, 80, 25, "Batch_convert")				
				TrackBarGadget(#valeur,10,150,150,30,1,8)				
				TextGadget(#valeur_text,200,150,30,30,str(image_file\vall.i))
				setGadgetstate(#Valeur,image_file\vall.i)
				DisableGadget(#batch_convert, #true)
				; Gadget Fonts
				SetGadgetFont(#Text_Titre, LoadFont(#Font_Text_Titre, "Arial", 20, #PB_Font_HighQuality))
				;EndIf
		EndIf
EndProcedure

Procedure Calcul()
		Save_ini()
		if IsImage(#image_origine)
				; defisher
				; ***************************************************
				taille_pixel=image_file\vall.i
				CreateImage(#image_modifie, image_file\Largeur_image,image_file\hauteur_image)
				StartDrawing(ImageOutput(#image_modifie))
						For x=0 to image_file\Largeur_image-1 
								For y=0 to image_file\hauteur_image-1  
										pixl=Image_or.d(x,y)					
										box(x,y,taille_pixel,taille_pixel,pixl)
										y=y+(taille_pixel-1)
								Next y
								SetGadgetState(#progress_calcul, x)							
								WaitWindowEvent(2)
								x=x+(taille_pixel-1)
						Next x
				StopDrawing()
				; ***************************************************	
				SetGadgetState(#Image_1, imageId(#image_modifie))
				SetGadgetState(#progress_calcul, 0)			
				DisableGadget(#batch_convert, #False)
		Endif
Endprocedure

Procedure Save(flag)
		CopyImage(#image_modifie2,#image_modifie)
		FreeImage(#image_modifie2)
		if flag=#false
				path_save.s=SaveFileRequester("ou sauver ?" ,image_file\here.s+image_file\name_image.s+"."+image_file\extens_image.s,"*.jpg;*.png;*.bmp",1)
		Else
				path_save.s=image_file\repertoire_sortie.s+image_file\name_image.s+"."+image_file\extens_image.s
		Endif
		select LCase(image_file\extens_image.s)
				Case "jpg"
						SaveImage(#image_modifie,path_save.s,#PB_ImagePlugin_JPEG,10)
				case "bmp"
						SaveImage(#image_modifie,path_save.s,#PB_ImagePlugin_BMP)
				case "png"
						SaveImage(#image_modifie,path_save.s,#PB_ImagePlugin_PNG)
				EndSelect
		Endprocedure
		
		Procedure Load(flag)
				load_ini()
				if flag=#false
						image_file\image_file.s=OpenFileRequester("choisir une image",image_file\here.s,"*.jpg;*.png;*.bmp",1)
				Endif
				if  image_file\image_file.s<>""
						image_file\here.s=GetPathPart( image_file\image_file.s)
						image_file\name_image.s=GetFilePart( image_file\image_file.s,#PB_FileSystem_NoExtension)
						image_file\extens_image.s=GetExtensionPart( image_file\image_file.s)
						If LoadImage(#image_origine, image_file\image_file.s)
								CopyImage(#image_origine,#image_origine_gadget)
								ResizeImage(#image_origine_gadget,325,235)
								image_file\Largeur_image=325
								image_file\hauteur_image=235
								SetGadgetState(#Image_0, imageId(#image_origine_gadget))		
								Dim Image_or.d(image_file\Largeur_image+10,image_file\hauteur_image+10)
								; Scan
								StartDrawing(ImageOutput(#image_origine_gadget))
										For y=0 to image_file\hauteur_image-1
												For x=0 to image_file\Largeur_image-1
														Image_or(x,y)=point(x,y)
												Next x
										Next y
								StopDrawing()
						Else
								MessageRequester("erreur", "pas pu charger cette image !")
						Endif
				Endif
		EndProcedure
		
		procedure Save_ini()
				If Openfile(#file,GetCurrentDirectory()+"Pixeliser.ini")
								;-save_ini
								writeStringN(#file,image_file\here.s)
								image_file\vall.i=getGadgetstate(#Valeur)
								writeStringN(#file,str(image_file\vall.i))
						CloseFile(#file)
				Else
						image_file\here.s=GetCurrentDirectory()
Endif;]
EndProcedure

Procedure load_ini()
		if FileSize(GetCurrentDirectory()+"Pixeliser.ini")>1
				If Openfile(#file,GetCurrentDirectory()+"Pixeliser.ini")
								image_file\here.s=ReadString(#file)
								image_file\vall.i=val(ReadString(#file))
						CloseFile(#file)
				Endif
		Else
		image_file\here.s=GetCurrentDirectory();|
		Endif
EndProcedure
;Epb


Image
Image
Site: http://michel.dobro.free.fr/
Devise :"dis moi ce dont tu as besoin, je t'expliquerai comment t'en passer"
Avatar de l’utilisateur
Micoute
Messages : 2522
Inscription : dim. 02/oct./2011 16:17
Localisation : 35520 La Mézière

Re: image to Icone (et pixeliseur)

Message par Micoute »

Super, merci pour le partage.
Microsoft Windows 10 Famille 64 bits : Carte mère : ASRock 970 Extreme3 R2.0 : Carte Graphique NVIDIA GeForce RTX 3080 : Processeur AMD FX 6300 6 cœurs 12 threads 3,50 GHz PB 5.73 PB 6.00 LTS (x64)
Un homme doit être poli, mais il doit aussi être libre !
Avatar de l’utilisateur
Kwai chang caine
Messages : 6962
Inscription : sam. 23/sept./2006 18:32
Localisation : Isere

Re: image to Icone (et pixeliseur)

Message par Kwai chang caine »

Super idée que tu as eue 8O
Merci beaucoup 8)

Je testerais ton code dès que possible...
C'est dans ce genre de moment, qu'on serait prêt à remettre la main au porte flouze pour lancer un code pb sur android, si "quinquin" qui nous lit parfois de là haut, voit ce que je veux dire :mrgreen:
ImageLe bonheur est une route...
Pas une destination

PureBasic Forum Officiel - Site PureBasic
Avatar de l’utilisateur
Ar-S
Messages : 9472
Inscription : dim. 09/oct./2005 16:51
Contact :

Re: image to Icone (et pixeliseur)

Message par Ar-S »

J'ai fait un soft avec des canvas pour convertir des images en icones.
Le soft permet de convertir des images en 4, 8, 24 et 32 bit avec des tailles de 16x16 à 256x256
Mais je n'arrive pas à faire fonctionner ces routines pour les sauver en images.
Dommage que PB ne propose pas un saveimage en prenant en compte les images. Surtout qu'il les prend en compte pour les toolbars et autres gadgets. :?

Voilà mon code en l'état sans les routines.

Code : Tout sélectionner

; Icon'it 
; By Ar-S // oct 2016
; PB 5.50 x86
; Glisser déposer une image sur le soft
; choisissez la taille, le format et les options
; sauvez

UseJPEGImageDecoder()
UsePNGImageDecoder()
UseTGAImageDecoder()
UseTIFFImageDecoder()

UsePNGImageEncoder()

Declare Lock(State_lock)
Declare RempliCanvas()
Declare Cloneimage()
Declare DessineImages()
Declare ConvertImage(encodage)
Declare CreateIcon(Image.l)
Declare.i SaveIcon(hIcon, filename$)

Macro Mess(message)
  SetGadgetText(#aff,"Images converties en " + message + " couleurs.")
  SetGadgetColor(#aff,#PB_Gadget_BackColor, $00FF00)
EndMacro

Macro Mess2(message2)
  SetGadgetText(#aff,"Taille de l'image " + message2)
EndMacro

Enumeration
  #LDVM
  #chk_bordure
  #Chk_transp
  #Txt_col
  #Chk_4b
  #Chk_8b
  #Chk_24b
  #Chk_32b
  #AFF
  #g_titre
  #titre
  #Sauve
  
  ; Traitement des futures images
  #Ori
  #im_enc
  #IM
EndEnumeration

Enumeration 20 ; canvas 
  #Bt_16
  #Bt_32
  #Bt_64
  #Bt_128
  #Bt_256
EndEnumeration

Enumeration 30 ; images des canvas
  #ico_16
  #ico_32
  #ico_64
  #ico_128
  #ico_256
EndEnumeration



Global titre = CatchImage(#titre, ?titre_s, ?titre_e - ?titre_s)
Global Couleur,Format_Image, Prof_Image, IM_A_SAUVER
Global.b COLORSTATE, TRANSPARENT, State_lock
Global Name$,Path$,oldmessage.s

IM_A_SAUVER = 0

Procedure Cloneimage()
  
  For i = #ico_16 To #ico_256
    CopyImage(#ori,i)  
  Next
  ResizeImage(#ico_256,256,256,LeMode)
  ResizeImage(#ico_128,128,128,LeMode)
  ResizeImage(#ico_64,64,64,LeMode)
  ResizeImage(#ico_32,32,32,LeMode)
  ResizeImage(#ico_16,16,16,LeMode)
  FreeImage(#ori)
  ; L'image originale devient la plus grande (256 pixels) pour une traitement futur plus rapide
  CopyImage(#ico_256,#ori)  
EndProcedure

Procedure Lock(State_lock)
  DisableGadget(#chk_bordure,State_lock)
  DisableGadget(#Chk_transp,State_lock)
  DisableGadget(#Chk_4b,State_lock)
  DisableGadget(#Chk_8b,State_lock)
  DisableGadget(#Chk_24b,State_lock)
  DisableGadget(#Chk_32b,State_lock)
  DisableGadget(#Sauve,State_lock)
  DisableGadget(#bt_16,State_lock)
  DisableGadget(#bt_32,State_lock)
  DisableGadget(#bt_64,State_lock)
  DisableGadget(#bt_128,State_lock)
  DisableGadget(#bt_256,State_lock)
EndProcedure


Procedure ConvertImage(encodage)
  Protected *IM
  CopyImage(#ori,#im_enc)
  *IM = EncodeImage(#im_enc ,#PB_ImagePlugin_PNG, #PB_Image_FloydSteinberg, encodage)
  CatchImage(#im_enc, *IM)
  For i = #ico_16 To #ico_256
    CopyImage(#im_enc,i)  
  Next
  ResizeImage(#ico_256,256,256,LeMode)
  ResizeImage(#ico_128,128,128,LeMode)
  ResizeImage(#ico_64,64,64,LeMode)
  ResizeImage(#ico_32,32,32,LeMode)
  ResizeImage(#ico_16,16,16,LeMode)  
  
EndProcedure


Procedure RempliCanvas()
  For i =   #Bt_16 To #Bt_256
    L = GadgetWidth(i) : H = GadgetHeight(i)
    StartDrawing(CanvasOutput(i))
    Box(0,0,L,H,$0)
    StopDrawing()
  Next
  
EndProcedure

Procedure DessineImages()
  For i = 1 To 5
    StartDrawing(CanvasOutput(i+19))
    
    DrawingMode(#PB_2DDrawing_Default)
    DrawImage(ImageID(29+i),0,0)
    
    If COLORSTATE = 1
      DrawingMode(#PB_2DDrawing_Outlined)
      Box(0,0,ImageWidth(29+i),ImageHeight(29+i), Couleur)
    EndIf
    
    StopDrawing()
    
  Next  
EndProcedure



Procedure OpenWindow_LDVM()
  If OpenWindow(#LDVM, 613, 300, 522, 300, "Pure Basic Icon Creator // LDVMULTIMEDIA", #PB_Window_ScreenCentered|#PB_Window_SystemMenu     )
    
    HideWindow(#LDVM,1)
    ImageGadget(#g_titre,10,1,233,53, titre)
    
    CanvasGadget(#Bt_16, 9, 258, 16, 16, 0)
    CanvasGadget(#Bt_32, 28, 242, 32, 32, 0)
    CanvasGadget(#Bt_64, 62, 210, 64, 64, 0)
    CanvasGadget(#Bt_128, 129, 146, 128, 128, 0)
    CanvasGadget(#Bt_256, 261, 18, 256, 256, 0)
    RempliCanvas()
    
    CheckBoxGadget(#chk_bordure, 5, 55, 160, 18, "Ajouter une bordure")
    CheckBoxGadget(#Chk_transp, 5, 78, 220, 18, "Gérer la transparence (vista et +)")
    TextGadget(#Txt_col, 5, 100, 200, 18, "Convesion des couleurs", #SS_CENTERIMAGE)
    OptionGadget(#Chk_4b, 5, 120, 75, 20, "4 bits")
    OptionGadget(#Chk_8b, 5, 143, 75, 20, "8 bits")
    OptionGadget(#Chk_24b, 5, 166, 75, 20, "24 bits")
    OptionGadget(#Chk_32b, 5, 190, 56, 20, "32 bits")
    StringGadget(#AFF, 2, 277, 415, 20, "Faites un glisser/déposer de l'image à transformer en icone", #PB_String_ReadOnly|#ES_CENTER)
    ButtonGadget(#Sauve,418,276,100,22,"Sauver l'icone")
    SetGadgetState(#Chk_32b,1)
    EnableWindowDrop(#LDVM, #PB_Drop_Files, #PB_Drag_Copy)
    State_Lock = 1
    Lock(State_Lock)
    
    HideWindow(#LDVM,0)
  EndIf
EndProcedure

OpenWindow_LDVM()

Repeat
  Select WaitWindowEvent()
    Case #PB_Event_WindowDrop 
      Select EventDropType() 
          
        Case #PB_Drop_Files
          Debug "Drop file: " + EventDropFiles()
          If LoadImage(#ori, EventDropFiles())
            Format_Image = ImageFormat(#ori)
            Prof_Image  = ImageDepth(#Ori,#PB_Image_InternalDepth)
            Name$ = GetFilePart(EventDropFiles(),#PB_FileSystem_NoExtension)
            Path$ = GetPathPart(EventDropFiles())
            Lock(0)
            Select Prof_Image
              Case 4
                SetGadgetState(#Chk_4b,1)
              Case 8
                SetGadgetState(#Chk_8b,1)
              Case 24
                SetGadgetState(#Chk_24b,1)
              Case 32
                SetGadgetState(#Chk_32b,1)
              Default
                SetGadgetState(#Chk_24b,1)
            EndSelect
            
            SetGadgetColor(#aff,#PB_Gadget_BackColor,$00ff00)
            ; Gestion des images 
            ; Filtre des icones
            
            If Format_Image = #PB_ImagePlugin_ICON
              SetGadgetText(#Aff, "Le format icone n'est pas pris en charge")
              FreeImage(#ORI)
            Else  
              ; Si non PNG, on desactive la case transparence
              If Format_Image <> #PB_ImagePlugin_PNG
                DisableGadget(#Chk_transp,1)
              Else
                DisableGadget(#Chk_transp,0)
              EndIf
              
              IM_A_SAUVER = 0
              CloneImage()
              
              DessineImages()
            EndIf
          Else
            Debug "ce n'est pas une image"
          EndIf
          
      EndSelect
      
    Case #PB_Event_Gadget
      Select EventGadget()
          
          ; SAUVEGARDE
        Case #Sauve
          If  IM_A_SAUVER <> 0
            
            Filtre$ = "Icone (*.ico)|*.ico;"
            Fichier$ = SaveFileRequester("Sauvegarder l'icone", path$+Name$+".ico", Filtre$, 0)
            If Fichier$
              MessageRequester("Information", "Vous avez choisi ce fichier :"+Chr(10)+Fichier$, 0)
;               icon_id=CreateIcon(IM_A_SAUVER)
;               SaveIcon(icon_id, Fichier$)
              
            Else
              SetGadgetText(#aff,"L'opération a été annulée.")
              SetGadgetColor(#aff,#PB_Gadget_BackColor,$0000ff)
            EndIf
            
            
            
          Else
            MessageRequester("Information","Vous devez d'abord sélectionner l'image à convertir !",0)  
          EndIf
          
          
          
          
          ; CANVAS 
        Case #bt_16
          Select EventType()
              
            Case #PB_EventType_MouseLeave  
              SetGadgetText(#aff,oldmessage.s)
              
            Case #PB_EventType_MouseEnter
              SetGadgetAttribute(#Bt_16,#PB_Canvas_Cursor, #PB_Cursor_Hand )
              Mess2("16x16")
              
            Case #PB_EventType_LeftClick
              Debug "clap"
              SetGadgetText(#aff, "Icone de sortie en 16x16")
              oldmessage.s = GetGadgetText(#aff)
              IM_A_SAUVER = #ico_16
              SetGadgetColor(#aff,#PB_Gadget_BackColor,$00FF00)
              
          EndSelect
          
          
          
        Case #Bt_32
          Select EventType()
              
            Case #PB_EventType_MouseLeave  
              SetGadgetText(#aff,oldmessage.s)
              
            Case #PB_EventType_MouseEnter
              SetGadgetAttribute(#Bt_32,#PB_Canvas_Cursor, #PB_Cursor_Hand )
              Mess2("32x32")
              
            Case #PB_EventType_LeftClick
              SetGadgetText(#aff, "Icone de sortie en 32x32")
              oldmessage.s = GetGadgetText(#aff)
              IM_A_SAUVER = #ico_32
              SetGadgetColor(#aff,#PB_Gadget_BackColor,$00FF00)
              
          EndSelect
          
        Case #Bt_64
          Select EventType()
              
            Case #PB_EventType_MouseLeave  
              SetGadgetText(#aff,oldmessage.s)
              
            Case #PB_EventType_MouseEnter
              SetGadgetAttribute(#Bt_64,#PB_Canvas_Cursor, #PB_Cursor_Hand )
              Mess2("64x64")
              
            Case #PB_EventType_LeftClick
              SetGadgetText(#aff, "Icone de sortie en 64x64") 
              oldmessage.s = GetGadgetText(#aff)
              IM_A_SAUVER = #ico_64
              SetGadgetColor(#aff,#PB_Gadget_BackColor,$00FF00)
              
          EndSelect
          
        Case #Bt_128
          Select EventType()
              
            Case #PB_EventType_MouseLeave  
              SetGadgetText(#aff,oldmessage.s)
              
            Case #PB_EventType_MouseEnter
              SetGadgetAttribute(#Bt_128,#PB_Canvas_Cursor, #PB_Cursor_Hand )
              Mess2("128x128")
              
            Case #PB_EventType_LeftClick
              SetGadgetText(#aff, "Icone de sortie en 128x128") 
              oldmessage.s = GetGadgetText(#aff)
              IM_A_SAUVER = #ico_128
              SetGadgetColor(#aff,#PB_Gadget_BackColor,$00FF00)
              
          EndSelect
          
        Case #Bt_256
          Select EventType()
              
            Case #PB_EventType_MouseLeave  
              SetGadgetText(#aff,oldmessage.s)
              
            Case #PB_EventType_MouseEnter
              SetGadgetAttribute(#Bt_256,#PB_Canvas_Cursor, #PB_Cursor_Hand )
              Mess2("256x256")
              
            Case #PB_EventType_LeftClick
              SetGadgetText(#aff, "Icone de sortie en 256x256")
              oldmessage.s = GetGadgetText(#aff)
              IM_A_SAUVER = #ico_256
              SetGadgetColor(#aff,#PB_Gadget_BackColor,$00FF00)
              
          EndSelect
          
          
        Case #chk_bordure
          If GetGadgetState(#chk_bordure) = 1
            Couleur = ColorRequester()
            COLORSTATE = 1
          Else
            COLORSTATE = 0   
          EndIf
          DessineImages()
          
        Case #Chk_transp
          If GetGadgetState(#Chk_transp) = 1
            TRANSPARENT = 1
          Else
            TRANSPARENT = 0  
          EndIf
          DessineImages()
          
        Case #Chk_4b
          ConvertImage(4)
          DessineImages()
          Mess("16")
          Prof_Image = 4
        Case #Chk_8b
          ConvertImage(8)
          DessineImages()
          Mess("256")
          Prof_Image = 8
        Case #Chk_24b
          ConvertImage(24)
          DessineImages()
          Mess("16,8 millions de")
          Prof_Image = 16
        Case #Chk_32b
          ConvertImage(32)
          DessineImages()
          Mess("4 milliards de" )
          Prof_Image = 32
      EndSelect
    Case #PB_Event_CloseWindow
      Select EventWindow()
        Case #LDVM
          CloseWindow(#LDVM)
          Break
      EndSelect
  EndSelect
ForEver





DataSection
  titre_s:
  ; size : 8845 bytes
  Data.q $78451800E1FFD8FF,$002A494900006669,$0000000000000008,$1100ECFF00000000,$000100796B637544,$FF00005000000004,$3A707474682F03E1,$6F64612E736E2F2F,$782F6D6F632E6562
  Data.q $002F302E312F7061,$656B636170783F3C,$3D6E696765622074,$64692022BFBBEF22,$704D304D3557223D,$65727A4869686543,$636B7A63544E7A53,$783C203E3F226439,$6174656D706D783A
  Data.q $783A736E6C6D7820,$3A65626F6461223D,$2F6174656D3A736E,$74706D783A782022,$65626F6441223D6B,$726F4320504D5820,$30632D352E352065,$35312E3937203132,$3032202C32373735
  Data.q $33312F31302F3431,$303A34343A39312D,$2020202020202030,$6664723C203E2220,$6C6D78204644523A,$223D6664723A736E,$772F2F3A70747468,$726F2E33772E7777,$302F393939312F67
  Data.q $6664722D32322F32,$2D7861746E79732D,$723C203E2223736E,$72637365443A6664,$72206E6F69747069,$74756F62613A6664,$6E6C6D782022223D,$68223D706D783A73,$736E2F2F3A707474
  Data.q $632E65626F64612E,$312F7061782F6D6F,$6C6D7820222F302E,$4D4D706D783A736E,$2F3A70747468223D,$626F64612E736E2F,$61782F6D6F632E65,$6D6D2F302E312F70,$736E6C6D7820222F
  Data.q $223D66655274733A,$6E2F2F3A70747468,$2E65626F64612E73,$2F7061782F6D6F63,$707954732F302E31,$72756F7365522F65,$2022236665526563,$616572433A706D78,$3D6C6F6F54726F74
  Data.q $502065626F644122,$706F68736F746F68,$3431303220434320,$776F646E69572820,$4D706D7820222973,$6E6174736E493A4D,$6D78223D44496563,$31303A6469692E70,$3139413946343535
  Data.q $3838364531313846,$3636413131423330,$2022373241453342,$6F443A4D4D706D78,$4449746E656D7563,$69642E706D78223D,$4634353531303A64,$3131384631394239,$3142333038383645
  Data.q $4145334236364131,$6D783C203E223732,$697265443A4D4D70,$206D6F7246646576,$6E693A6665527473,$444965636E617473,$69692E706D78223D,$4634353531303A64,$3131384631393839
  Data.q $3142333038383645,$4145334236364131,$6552747320223732,$656D75636F643A66,$6D78223D4449746E,$31303A6469642E70,$3139393946343535,$3838364531313846,$3636413131423330
  Data.q $2F22373241453342,$3A6664722F3C203E,$7470697263736544,$722F3C203E6E6F69,$203E4644523A6664,$6D706D783A782F3C,$783F3C203E617465,$652074656B636170,$3E3F2272223D646E
  Data.q $626F64410E00EEFF,$01000000C0640065,$020202008400DBFF,$0302020202020202,$0202030403020202,$0404040404050403,$0505050505050605,$0607070807070606,$0C0C09090A0A0909
  Data.q $0C0C0C0C0C0C0C0C,$0303010C0C0C0C0C,$0906060905040503,$0E0E0F0D0B090B0D,$0C0C0C0C0F0F0E0E,$0C0C0C0C0C0F0F0C,$0C0C0C0C0C0C0F0C,$0C0C0C0C0C0C0C0C,$0C0C0C0C0C0C0C0C
  Data.q $C0FF0C0C0C0C0C0C,$03E9003500081100,$1103011102001101,$020000C000C4FF01,$0000000101010501,$0908000000000000,$02030A0605040007,$0103000302000101,$0000000000000000
  Data.q $0207050406000000,$0203010010010803,$0B0A080404030404,$0403020100000000,$3121070612000511,$1522611451410813,$6242B132A1817109,$7252911643239282,$C21936D3B373B2A2
  Data.q $B4947434246333D2,$0302030100111856,$0003080704070604,$1103020001000000,$1251413106052104,$91F00713B1817161,$6252423222D1C1A1,$161433238272E115,$245343D2C2B2A292
  Data.q $030C00DAFF352573,$3F00110311020001,$DFDE7DA110187800,$7B4D576B2BD9B9AD,$60D4C0218F658D7F,$B4915510AE53C0FA,$B388019A8046A98A,$E4947D95362C36DD,$AEB25B43608EDF12
  Data.q $8FDD6E323F5D0834,$25E9157C522BD4DD,$25FC3467887300FF,$6FDF8EAF48060D32,$67DC3E31DF2D66C1,$78622662B05E29A9,$13EA324F81AC43C8,$3FB8D2DEA0197D4C,$0EA47D34CB07C841
  Data.q $376EB7B76D6722FA,$BF6F4F6D68E62A66,$7C1B52B83CB2D2B2,$34346ABA2A077421,$E092ED864B1C8F3C,$0E58DC4FCFCCA536,$30D623488BB7D067,$2EEE15352A25CE52,$EBB99DDBD6EE6DF3
  Data.q $760A9E15CD06492D,$4754853C3569E853,$8145C66B1631E013,$FCEA769A655FC1DB,$1D0D8E6B83513473,$BDFD64BE5C2304A7,$5139D7DFE15A6A45,$F28A4A163304A592,$1C0A9F2840F523F8
  Data.q $1D96298D4D697642,$A7C241DBE92ACC07,$FBDE6EA6D86B40D5,$259DB8D8E17EDBB1,$ED734B9CDAE6D62D,$410956B40F53DAB2,$47024503A8345728,$10CF7BAB04823902,$6C388D33A94291F2
  Data.q $02875666EE58F1A3,$66C4905F288A7A28,$A52A90B6A5EEFB94,$293190303100D0A8,$42A968E521DD386A,$2D49FBB1A7F7EB6E,$91EA2AA3AA41DD76,$093C804C9E8F6C53,$1523810FB0B88465
  Data.q $E2F4158D064C66D2,$9D0E8DC45DF46C9C,$347444FD007130C2,$3300FFC8A0D4C755,$7B377BA20DF5927D,$D45C8B4C261A0E73,$9A3F1DB39F68ECA3,$163AB38A8FF6ED1D,$00FFBA00FF593E32
  Data.q $4DDA993B6BA7A2F4,$3EB8C1553FBA6EDE,$9E6CD5D1A1A2079A,$1850FE242D9A6D41,$2A3D6C1A72FC0D95,$0A326C7657D23287,$9D4DD7694D7B833D,$ACA6DF865AD464AA,$2D18CCD007B76FB3
  Data.q $15092101519FE729,$28CB240600C09324,$79C9585852C5A58D,$3FD2EC52D266613B,$8CD6823BD59F3D33,$923EC97C1B946B44,$3A24704B4765AAD9,$E7C485FA42099555,$3152E783B4AD743F
  Data.q $D01E86AB6989F95D,$48B1BC9523A33F9D,$E369F0B84661F74B,$CE651B32B903A0C2,$E397BCA0131BDE1D,$8B83A0262DB490BE,$778B4B2454383C46,$720C5908C56321C1,$B6BDBD2BEE28085D
  Data.q $B9899AD36DFBDEED,$D62DFAB2C9CD2BB7,$7529AB8421CE7AF6,$5353815A91125275,$D7D26BBEE2C04143,$4CD32CBF8956B472,$40FAE6E5CF24119E,$F93D6931A54E9304,$1B76B9936CDBBAD1
  Data.q $E110EB879D592482,$5095169294530AF7,$E3C083781084A6A4,$93EA82BF8869BD90,$A50F6D5BE6CB4A4C,$335FB4EDA577100F,$3473D1C2ED2E6E25,$7BEC947C319DF63B,$2A91D5E2A054A016
  Data.q $69613A927EFC145A,$21121FD0D0B5E449,$09AE8E98C3B5E78B,$63229C68DE56DA89,$D915D4B1E3900081,$13EFD13D8D12A3BB,$D5AC7E5B4C92B665,$B7D997B2E55CA211,$E90B346ACBD7A924
  Data.q $CF29ADA895AE9534,$9500306BBFE512CB,$7BCF1CB8A6A46343,$54DA504F9CCA0E58,$05EAF8BBDD64FE43,$887300FF25E9E781,$F4AF55BA8F9A00FF,$7BB6E0B76FE7BF13,$85D09A0BB717CC4F
  Data.q $4B69468A8A10986B,$3D80E0A5CACDC031,$6BA7D1DCE6385EBE,$AB6866A14B74A94F,$5729E41DD0FE8C66,$4E6F2FBAB447775A,$42EAD21FD1D4CEE5,$D5BD94FA657C1E17,$890A9773060D2821
  Data.q $2A65BFCE1D0709A0,$3E77D2A1ABDC49DC,$BA5D2A5A2BBF6C21,$CB86DAD45DDB149D,$CECE0CA760D7CC67,$A8F9F60B4A100C9B,$A29F7274854A0304,$D1BEB5119A63C4B5,$9355908DD04D57F1
  Data.q $FE2D8BB677B8D68E,$00FF0BEC7FBCBD64,$DD47CD0FCEFD97B4,$B76FE7BF0BF4E72B,$E3EE7691F959BDE0,$65A6316F19B54289,$0F06D592F5919445,$DD2ED0E12BDD47CD,$DE057DA4DCA33D3B
  Data.q $B19926FE1DEEC2E6,$8443244EBC4B28EB,$0E1B5281744BCBE2,$384EE3A07120E604,$0285208E6B328FED,$798C64490BCF45EF,$3A4D17A94F10D018,$80851694D6A1EDDB,$4DAA412C0EE2A152
  Data.q $AB8FE9D50E4D4B73,$DB1DE6B74A08AC8A,$A5551D6945DEB036,$AD07A5A2F4B73665,$660DCAADD3920A72,$4A111D2DAA525250,$4E86BEA7389E508A,$E64A1B2DD48AE662,$5D0BB93345268636
  Data.q $3B4CD5DBB4865D51,$66615D5DF6D5A552,$DA0E3794C4B5A6C9,$6809648AB76A8DD1,$660AA76684524201,$6BCA67A7DB8DC2A9,$A4B92A839F4EF482,$ECF6C4F1DB212C8C,$AFAF5F43B3FD51EC
  Data.q $B23423A701DD72CB,$518907F273391D81,$80F6428AEC38A814,$4A5B26DB4B944BC0,$1D8026E3383ADCE7,$B64F7D69903D1DA5,$E896C33EBC7383BB,$594101A88CD986D7,$F09490D782526BCB
  Data.q $47967D71E2F140CC,$AE4B1640E11C9E33,$0E0E149DADE8722F,$9DA6F895BAD9C873,$49DB8B0D96727FDC,$B029EF7AE0E2921A,$2E99EC0085D69ECD,$009FCCDB0369D303,$31BC6E2F2D063C09
  Data.q $8C692255FAA8DFCA,$DB4D4435CD385E84,$386DF6494773C7C5,$DDB15E6EBEF3B902,$D5A8486B56374D9D,$34876191E2E0923A,$2219666E63FB1619,$74DF23C05A5B55C1,$AEA98503D414972B
  Data.q $97DFD63B891B0DF9,$DB587EF9D072D369,$693BF1DF8E06A3B1,$C6E9C6AAC1164CE3,$EE01BEE6EC1B5DD2,$9A2041D3B28CE821,$DE87570AA465E100,$018273D0D391E838,$EE16EE856550B656
  Data.q $7AB87DD26E37D28D,$DC9766D62DD9C394,$C49CC54CA1ED32C9,$A89556C80919EE76,$4B79899582C757A0,$05E6B90476C5E9DE,$790E40B95B19B4AD,$BEA7A2F5EC8A7418,$4EED221616AFF14E
  Data.q $97B0B9A6367D5CDC,$7C1D832A8876772F,$AFE5508E3A6A4D00,$7CD75716177FEF21,$2F099EF436B28FE4,$B3228FB1CB1FE44A,$38F57E238F6B8B49,$2E7DADEA4E3BB29F,$204A3AE8ADB9A6D6
  Data.q $A40BF5C70F622281,$FD1675C0E394723F,$6CE48A98D1A9C4C1,$991B52AC6A8279A4,$92DBD3528FB13C25,$F20E1EEFF1ECE559,$A9A7263D6FF5775C,$9D66E47C0DD9AB6E,$0ED35460D4E22A2F
  Data.q $1C49099DD794E22D,$A295EAC2927D8C7E,$3C30102FB2AB67E1,$065814FAD30E8A76,$E4A7F9164DFDDBA1,$CCACF0916DF5A63F,$A1050754391E8AFB,$EC9D211123F0205E,$DAA61C7398D8AF3C
  Data.q $71A31D737A6B82E5,$EFB2A0534C1FBC07,$4D7EA87EDAD9BB83,$07C7E77129167E11,$B42601B86D65E893,$32B909C3F0090DCC,$DC466E1D0BED9ADA,$0EC4AF7C948F3EBF,$B7643B2438EC7807
  Data.q $DB7CA9C09CADF5B2,$34658BA95B8AE5A0,$798B2D479645665A,$27BA3FECA8933BB1,$AAC0ADB56CA34C6E,$8C2B4F094C406DF1,$7852F3D495120586,$F54D3917C7477D05,$98BF59F0DD6C473E
  Data.q $3ECEC7A81BBC581A,$6EC27A7A7CF1C7B1,$A4A010975087B88D,$45918A45861154A8,$82BBE9D792CCDFCE,$63CCC24D0A584EB2,$FB47A94FA309A082,$ADA8E33DD4DF2A5C,$0CC4D5DABE064AF7
  Data.q $019B57EA1FED9B43,$4D747427760A35A8,$69135DE1F6313B88,$89CB91EB94F7D980,$AD11B7BF969A4742,$419D2B7538917424,$C0016D04F49D1569,$DBB75BA1B447E275,$8E88906273DDC50D
  Data.q $94A4825CAB23CBA5,$C15155C2A65296F4,$4C03983D7C2E5755,$CAB1A349A23880B3,$C25907D21098245F,$8FFB6BE76F54A49E,$33E3C062B771D77A,$94FAB44F118BCCA2,$FB2D290115BD6397
  Data.q $0F45E24142924A8A,$4143C0CCDB5D279E,$87EB32CE9EBED23B,$77907220AD3DF3B1,$62AFB642F14AD9ED,$893E566F70F12EF3,$0909147A929685FA,$7139524A09097004,$89391E4AD3CCC2A0
  Data.q $F6C5B6DCB2DB8ADB,$6FA0D5F2A4B510EE,$3DDB6CBBD6FA38ED,$D6446CB72482774F,$E501054A96B60A64,$F3DE6B4D2C4F4AC5,$BDBD3DB314A7C158,$2E8F138C642F4BB3,$1A6F4F742E5AA715
  Data.q $7B2677DB8BEC5D87,$686AF386EEB1F996,$2045F5C7394CEB82,$550A1E9A2805858A,$8987336743DBF878,$4296473DB3CF82BF,$5AE386F7590D68F1,$BE4DDD84BD4E94FA,$AFD7149518144693
  Data.q $5B60FC139252D715,$B9B52610D7C80715,$EEB96537B1872669,$144ED2C88C6D2C4B,$B8B744B1D3B8C370,$5DA26EB9E676CB2F,$56F12F8E99D697F1,$F34FC5F250DF7B95,$A6FC7FA2F57C120F
  Data.q $508F1706E0434BDE,$72C45D68B1430AFD,$400A5346F9167914,$0890842D5C87342D,$C4159913A7A0351D,$19665C2BD1809983,$6FE247A71B86A43D,$AB2D3BD290E59EC2,$C21726FB727AD71C
  Data.q $B329BBB847BA6CD5,$0002A25DF2B095EF,$7689D907E0299200,$B3976890F224D7B6,$696F2C9E8D24EFEC,$33BADCEEBC011870,$EB8199A6DBCC4BDA,$7CAE9294328DBA02,$6E5E402B6F631C06
  Data.q $A512369E2B4B94BB,$9DB24260D55173AC,$420BE83B2EEC8905,$AACC4790103808C5,$B7C3DE6EEE4E1BD1,$A1AF8BBB35312DA1,$23FD138A0AA90A20,$0FC0F3C8A0CD8C85,$B3A565AE3CF4DC7A
  Data.q $257E397B75CFC141,$736FA98B6081F658,$27A9A6425C42CCE1,$9D56C774D300AF30,$FF4C723E56EAA968,$1D27F7D17E3C0E00,$68FC61A6311DDA6A,$00A854D74CBF6D47,$4A1A435E1AAEE83E
  Data.q $D266ADC475E3EDC0,$EDA46ED7FD3E174D,$7AA9E446CC0BDFE7,$4FC2CEAEED3E4357,$558E78CA8468D4B9,$5238F348EC414E2B,$B7BB6BE7A521B8BC,$4AD74CE6F4A1577C,$ED5F7F0C11FD66CB
  Data.q $BD4BC5A38EF4D593,$724DE2A7D703EDBD,$FE53203D81895C29,$FC13874A1F7295C9,$F71300FFB2C9ED18,$D0C6D5C93C50ECAF,$DD11F369686C217F,$4EDBC3B64DEAE9F1,$6F0BE2157DA69B9A
  Data.q $D420480BA9B286FA,$6F240349331C0471,$2C2ECDB20F0B862B,$F7E5500E7162F1E5,$A67A2F5BD0FEB460,$C90E43CBD66D660C,$262A09212504B421,$DA312C8318720089,$8DF965345130E744
  Data.q $152E0F57147F7FDE,$5AB8E3D2DD4C24F6,$A8E37E552EACFDC2,$D525A5666D5B9727,$1EA99C907CA06564,$E9C10096F77B85C1,$920FB7D54EDA6EC5,$3B1A1B70B001C3E9,$B95B63B7ED5E1305
  Data.q $EB1445593D060131,$493F4AC5A3563C85,$B4138C2164552EC3,$D73B3379EA5F4FAC,$DD99001A367CD246,$E4B02D28C4F4669F,$B2C54855D172D626,$EBE9F4DD44A281CF,$294B2B74ABDF8E76
  Data.q $008E92A7F0F69969,$E625BC3E2AA0BC94,$FC4534A617690E71,$226047AD71400B82,$8BDEDCB8DD6CE59D,$EA8E884A6F95FBB7,$709C84FA01BFD126,$71D54BA9BFDB24B0,$E83DDA07B5C5B9B5
  Data.q $DE0E8D749791D10F,$714ADB901D884B99,$B7882B28CD3967AA,$C534AF6AA5B56CB4,$9138000BF1E5B065,$24F5A1FD76CB6DB5,$6145DDB643BA952B,$0E9C1100FF320F71,$481F816321B31C4A
  Data.q $C60A0E0D734E4CC7,$02310F0B98AE18FE,$A7F8EF203D0EF187,$D2E28D767317DAF3,$DA96DA88904F6051,$70E80CB58072B194,$ED119F3457697D0A,$AE1C257C5B8EC3A8,$8C7596A6359C17DA
  Data.q $78B27FDCEE477886,$B5E5CCCF9610771F,$EC3624853B747AA3,$24EB5202A70B6109,$9E0F985B312AFBD0,$F5DF3DBA4EEFA14E,$5E59E400FF593F6D,$200E9BDBF74BD8C7,$82C8931416139929
  Data.q $5ECD6BFB341C63CB,$A665C498F29B4F0A,$F9F6B84193FB9887,$B60D8B768D759D65,$789E385282E2526A,$6EC4026A18BB6565,$40F2C88696AB7BB3,$6C1B80EF56D19053,$C82314C936B45286
  Data.q $5A87FA2350ECB463,$96DCD9E228B9B3E6,$0953C3633946B7BB,$1F8842C700800365,$7F5C391ACC463859,$9A78E299904EF512,$F4CDCE8FDC21020E,$CA9E78DBE957B32D,$FFE279788F2DA31D
  Data.q $E645563BF0682300,$7047FA69D3FCAE94,$AB4E832D6D4DEF4C,$BB1880474DC8683C,$6CA3DA5EED248959,$DA861DE714DAED74,$846379A484AE2C9C,$6166F99B452AAD82,$16AB84D32D990BE9
  Data.q $BAC60C9E8D7D6EF6,$2E252E0114400848,$20C7D83B849D1F0E,$2179351DEBF53E3D,$0A587BB0C0017BB8,$D1AB3E3BE999DD6C,$6331AA4B195CA5D6,$93D530B678029C93,$734B3BE60916C09A
  Data.q $7464A37814209E67,$3529D086A94B1DAA,$54E212245A8B91E0,$784C47B344B367A7,$E20B0C80222184AD,$09815508AC4260CC,$40B6B13B41D27C09,$B3F070FAD33D2671,$34DC7A0F75727D99
  Data.q $00FF6FFCA8B5AD50,$FE3B53FC6BECF922,$B43BAD8EB5D85FBD,$00FF887E390F2BF5,$8FDD77DCA193FB58,$2A98382458A7D7B6,$4224BFBF38C91FA1,$995F6393165970EA,$32F4512E98B31DC2
  Data.q $8B0CD453B99A7053,$E0F9FE15C7CCE69C,$3137E179DAA7265C,$D6684B2FB85B3B3F,$E73D6EFD98A5E50F,$B3081E7A6A67D015,$0A0A285108A9BAC4,$38D0C486364B87E1,$9530976439EA312F
  Data.q $BD83FB13C5BC56D2,$AC5B00FF36B56B3B,$5D10B211C5BE3DB5,$1155214F4D1AFA94,$D08CE36E09067C52,$F1EE76FAE5BEE0ED,$F580E3DA6014ED85,$7467DAB80B773E94,$625EDFEE0BDC647B
  Data.q $71390C5CB04BA25F,$BC07D6E9B3B40F1C,$3788E340E0A135D1,$D15411371C960DB7,$071E0033EC9932A6,$521A9AA09D72C7CC,$1943DBF0B9E0719B,$585C9510B52E7689,$0AB70F1A45E5512A
  Data.q $B7E2839DE0F747D7,$CC476B2E65808DCC,$AEA4AB3D10B4D3EA,$6CF936D299F06CDA,$87D1874AA0ADA804,$9999BCE0142C08C8,$14F3180F64EEF8C6,$77D9962CD1AE5E47,$A9A5366396A58E19
  Data.q $6320CB3E061C344A,$3653F7D1CAAE2B49,$EEC97D2F57920A36,$56D4A52EDCBB5B43,$DDAE85225BD6BAF7,$1697A58A69A11A20,$00880FA014170A9F,$B876E2C65AFA32E1,$A3B84B0E5BE94BAF
  Data.q $A9307727400BD36F,$EC625722F6F2B477,$B27170574DDBC52F,$0E1EBE92CBB7CD85,$C1D9774C9B7F5921,$33937A5571E766C9,$F538D987088E1A17,$8C9D1B8FED025493,$0E31A6BF16E7461E
  Data.q $00FFE3E931C1F8EF,$76E85E9AE2A67FAE,$D2B1762BDBC1BDC8,$6CD48D684BBDA5EC,$07E5345501E4C181,$F93737988F877D25,$9B15D318ED613C77,$3B6BDDAE6D622D69,$D083EE4ECA635EBE
  Data.q $57BF3AD1F0D2FA77,$EDC2695367B126ED,$3AB377A17F69F3BE,$0F70D9F70A81034A,$F16B8EF81C3EDDA3,$BD56D8942676624E,$306F2C097FC7957F,$A9B84FF7A76F0E76,$EDA67D6FD9FDBA5F
  Data.q $1A8B9FC61981AC6E,$7A1A75CA1DE71EE3,$AF4F1139B0900AB1,$8B79895EB289E198,$B10FD3B25A7A0FB8,$624AF31C901A3210,$E8613744EA03A3DF,$E8BF9A989B937CCD,$373F25D7FEB41323
  Data.q $21F7F49E7815CBAB,$C242C3407E60458A,$AB00FF77F98FDC97,$FD712E76F838E057,$FD3F18DDFB72AD43,$C500FFC7C5BEB845,$F7587FD087F9086F,$3F6600FF016953AF,$F07FB0BB4CEE4DFC
  Data.q $FC47FEC59BEA1FEC,$D400FFA57991D50E,$D1871C5913DC91FD,$69344319AF99A58B,$B6E3E3B08FA5CD03,$D7E5C23A1E8DC82E,$829E1B7427A6F8B8,$073C52E230651241,$1F73116EFE3465A2
  Data.q $69F4AAD77B829EE1,$00F86FA3F66BE3AD,$A8E9BA24D87D26F7,$6AF427B42154054D,$B58335238761F629,$C87E9ACBC769BE63,$56C92C5D8CA909EE,$B797105885C02A04,$DB69B0ED4CE3BD7A
  Data.q $D4A945DDF1C38E3D,$B60C4BC765A100FF,$B310B8C5559F6ED4,$E1F31A071280BAC0,$34ADC53597BBCB8A,$134BB06490EFF4A6,$34688DC6C5A59966,$496E544A4393B4D9,$A55EEF50CFB77E7F
  Data.q $F6330A3359A3DAD2,$F83AEE2DB675EB98,$B671595B94746642,$A571D472C5F4F4FD,$A3E6A57B27170D6A,$066F594E5BEA48AA,$266E64C38B2E205E,$1F063BA6E62EE695,$AE26EFDF762C182E
  Data.q $44C24FD173952AD0,$31AF2E63069DFA92,$224EF05B87E40929,$E486910AB8DAE740,$72E7409F6F419AC1,$13E23E304775D4B5,$AFBD736DBB17ED37,$FB5010E8DCB98DEA,$6D5C02CA7DAB1271
  Data.q $AEDB160A52E1B6A5,$AF7185204092423A,$E16306F7362C4E21,$723319678F85A0D6,$6E7423183600FFF6,$294EE124EB432B1B,$7183F6DCCD76EF75,$BA618F0B4B960535,$944601B9995E7ACD
  Data.q $360538122C2B8AD3,$FC15A5F3A198074D,$BE5A959E8DD8896F,$0375AC86BDB7BB93,$B363785AE2041DF1,$DAEDBA131A48B5A3,$6DFBBAD5EE3FFBDB,$E49159172124108F,$49615B2A3C69E33C
  Data.q $3C5FDA394EE9230B,$2D0D6AA380989737,$1C271F13DE4CE96E,$2DA1287B45A8F647,$D7EBF0427753D4C2,$650E096A5FDB85AB,$A590320D333FFD62,$4A1B522A6BFB961C,$27C9472DC52933C5
  Data.q $BCE36DF41B76DF1C,$62BE4FD716057AFA,$3706A3C14003CD0D,$74CBAE30C5AD8FD3,$BA8B2635A3C1C655,$B7DDD775AA2E7EE6,$94AC21AD7AA69D13,$26FC70AA6A3909E2,$54F8C5B1F2D9CADE
  Data.q $D47DD976E752EB2C,$D948AA1BDE3CB64C,$D979397BBB2D10D4,$C7EE28D7D2745FED,$49A9ABE96E21B9B4,$BC525A4A94C2B8E9,$8DBD5F78DE5E8E16,$97065B717AA43EF1,$0EA8630DB5BFB6BC
  Data.q $4EC5DDEA093F3C2D,$36FCECE786DE35FB,$90B456D598DB4F2C,$90237D46209757DC,$7D4A94BF42C1520B,$8082BD99679178BE,$4F173434A94D15F6,$389AA6FDA48E24F1,$AF6FCA42D4F3CEFE
  Data.q $9465627ABA995B79,$622A31D722FAAD5C,$E4C9BA71D1740B4C,$40A123F4745C690B,$9B53B952A5B870F1,$F4C0BD0A32BBE612,$9F2CEB74CB5E7A0F,$A8EFC8779A0B6BCB,$6A677F9CEEDCA87E
  Data.q $C7E75FA46FBF3614,$5A9F167A8B75C48E,$4FFBA4214E1528ED,$BC4F1C5FB1FA908F,$9BAEFDDD8D939B96,$F48903461C1C32B0,$B08AB7C3024EEADB,$36997EE49CAD9E6C,$61B992FDB4FBF2A7
  Data.q $16DC68A91521F2A2,$99ACE7DF0733A713,$CB687B49AACEA5E6,$B1EEF73475609B89,$5A61F66BE2807E02,$4BF8E9BB059CD5ED,$D355033FEC3CB772,$C5A0A09B98716F27,$0AAD8423B771D890
  Data.q $AF201F621E460D1C,$6F79BAF4C18CE505,$0A99B423EF1828DE,$CD450AFE76712391,$6CCA4481827157B0,$D04F8A1F0AF0297E,$E682AAB2CD5C7278,$6C6E4CAF7BF9B385,$A7FB78278011BB13
  Data.q $854A593B632577DC,$25D24C6F7C6A3A6D,$A44E4B02470EA985,$525391CC888AA690,$A0A585049B16960F,$DBC9666D36DF16E0,$A37D45859D439A3B,$9736B1CF23787A65,$71CE6EA3654FC9F1
  Data.q $6518E1072A633E48,$1A49CE43ACD0A0D3,$E3F3D43EC91B185F,$F8075BF157DAB01C,$5D524A0514161A06,$9CEEDB2675C0FCCF,$50E93C6A3AD1A99D,$4695848BD76ECA92,$5B424A4801C99561
  Data.q $9CC2955250085059,$1A1A3FDEDC51F8B8,$3C6C375D72D48201,$CADBE6708FCCF830,$0EEE4929D5B10107,$77D6A206EE577BBC,$E25A28E795F85AC7,$4BAA086853D15607,$FB2099E140E84288
  Data.q $C631682B1D2BBF30,$252CA80B0BB6D8B5,$553434906778902F,$774337A9C414B4DC,$8AFB8D6A5F5BBA25,$71A99513DAA4ABF5,$E7DB479E4F5471DF,$9084C5852E97568E,$E6D06450AB0B3E3B
  Data.q $F0A6EEB1B1E53651,$B9C3ECAF131CFBEA,$D0D5CE54E8F9CE5B,$39871C5228EAB659,$7148595B5C74150C,$2681434125A8E4AC,$93FBF2199EA7A286,$FCEA84F5A635412D,$B679796B8F259695
  Data.q $0EFBBE1347E887B7,$B1238BD17E90F153,$DD1B73ADC3D13025,$E565D7A5FBDB4494,$B0F60AF18AA88316,$795ACC4738FA2910,$915CB4A997F6291C,$F01EC283BABCF0F8,$502CBB792A603F98
  Data.q $5C527BA4820532EA,$10B91707C1FA4951,$5D23AD7995D51E22,$A7B7C91DE56D8A98,$B85F2C8B17A38FEE,$7B1242601502AB10,$12A6CD6F479FEDA0,$3DB5CCCAE594D0EF,$4229ADDBD4D29A6B
  Data.q $35A80014E649018A,$90D50562A0D28006,$9DA9435E5368109B,$0FADB53D30478E96,$A894C290EC1CB814,$6A4BC9A62591C2AD,$714AF7E195D6D571,$3F3EC5C549FB3456,$9DA28523D09AE9CD
  Data.q $333888EC9965E5BD,$D23F38EFE715511B,$F3112A7131E46FC7,$5350DFB600FFF86A,$4DEF6F33CBF6CBBE,$5389E3204C41B7CA,$8D32CBCBCB1C24EE,$2FD33E712A4DA549,$610D6A29B511DF8E
  Data.q $60C01B28590E9C77,$FAB9338DD8D1CD8B,$1B3E65E6B6AF5B68,$C70307E20A8853A0,$1CC539CEE6B6E3C8,$E64FE5DD519B0C14,$ECA3DE96DC70D885,$CB330253D774AB51,$575AEE3A64485488
  Data.q $D664FCB443C555F9,$F9D876BD799168A5,$0F7A6EA5D3276D4C,$11DB2D6DDDDB45B4,$3DE27DC2E2802419,$E55B27CEFA5135AA,$EB9CAB944A6BC250,$782B77216F31C7FC,$6C377BB6FD913B0C
  Data.q $81643D45E7B4ECD1,$17E7924401594C53,$AEB46293B7AA9D1A,$21B3B67685DED9E9,$C81157404B259AC2,$9CE36CAE11071EF1,$2AEF8EBAE45EC151,$4695E286C32E347F,$ECF29C68E15AECB8
  Data.q $0A99F4A8544C4ACF,$F6954AD4D923210E,$57CBA55F3F5D86E2,$912A1A0F3480F3B0,$EECFAEB668D5F4C3,$5FA35C169D2AB13E,$9F94A03F0851B579,$829DFA08C8621FB7,$2004531DDBE67FE1
  Data.q $DB3B7B1C813EEF38,$8E49A8E4885CC33F,$E7404A48C8C814C3,$06325A5B5F4C01C0,$CDBAA0D61965A1D1,$D5911B3D7127F1A5,$A59F8E86BB56D072,$75C75574963E659C,$76DC3E929214E634
  Data.q $95877AA78595104F,$4A6B37B3E1C6BADF,$A2F56D2F31F60E4D,$E4D12C5D65DCB75F,$126C155B375CDBA9,$061E94BF0FB88572,$9C43E91CCA6D1483,$B16248CC97520B70,$B213533887341074
  Data.q $2DF6036BD97213BC,$021B5228E8330E33,$C8A2A00018868787,$5C2DF58E8B7B7924,$A42D895D716ED16D,$082A545229C9D3BA,$8D1A96C7F8AA0838,$D59CFED8017767A9,$E7DB959125B56777
  Data.q $E4B18290E2FA6A3A,$14B7AF48FA4941A0,$D3A26935253339D7,$950C636CAE323F32,$BFED9ED54ED8F4BC,$AAF459C6FCED2562,$4D92A4AAD0E48865,$9D75E29A24F32449,$D4A4A612CA9B6D9B
  Data.q $70C061B2F8536773,$20CF86B204A4714C,$BBBA04834B4C1C9A,$56A366EE46C7EC9B,$346821F5B11B62BD,$5211B2BE29CEA8FC,$D2D0D494A478E280,$7896755331A515BE,$C9F5C842ABD2D0A4
  Data.q $0145CBC3487C6BB0,$CEB1ECC721C4BEC6,$996968C7B5559BA2,$430C281A974F386E,$9B37C714F7669F6E,$EBBDB2A389E827F7,$44AD0AA010C88E36,$32D8B1F5DF9D118F,$11DF6CDE0995B818
  Data.q $C9E6DB8F11D437F4,$853862476CED365C,$269ECA69C3BA9F09,$DAD6E2A4269987A7,$7BD639488D3690D5,$DAE0514CE24B9B71,$4AE2D004AF52DA68,$3D68A55D710741A5,$775B5965AB37BBD4
  Data.q $8D53A899366C4750,$496D59082A4948AD,$561C4755A04990CE,$A35CA7D498AC65DC,$4D033486D1655D5B,$B4D7D983CD59EE84,$5BA25A9601530819,$260600784A004542,$AC25762B6F620BC3
  Data.q $AB29CD98309732CF,$AA1DCB03A080318A,$815508AC42E07EBD,$5FA6D4539ECECD0B,$CE79E02BC342E01A,$0A812BADF17A8E6E,$D5A7D1BBA70A3FE9,$F4D55F43BFD90B81,$F614CE2B04A6ECAB
  Data.q $00FFEAF091B04260,$4C85C054F9AB74C4,$04A6CD2F1DF63B7C,$A7342A0486A7802C,$4311FED3B010581E,$1658084C9D5F7AEB,$3D43E79E3A7400FF,$64D113D51602277F,$85C0B40C5F26971E
  Data.q $F5EFFEB9570B817B,$2BADF05A7DCBEB93,$E953F4D207370B81,$57082C4FBBA7D229,$D4877C7AE4AD10B8,$5FA415029BE3C965,$2DC79BA7973E6686,$F4C85B21F0642130,$0436C797CBA84FF9
  Data.q $66E8DD9B057E522C,$87D3858F5D21B0FA,$2FBD962B04569F46,$089C2B046E7E72EC,$FCB4DCFAA9746E5E,$65D97F7A0D5F08AC,$02AB10F85E08DCFC
  Data.b $15,$60,$42,$FF,$D9
  titre_e:
EndDataSection

~~~~Règles du forum ~~~~
⋅.˳˳.⋅ॱ˙˙ॱ⋅.˳Ar-S ˳.⋅ॱ˙˙ॱ⋅.˳˳.⋅
W11x64 PB 6.x
Section HORS SUJET : ICI
LDV MULTIMEDIA : Dépannage informatique & mes Logiciels PB
UPLOAD D'IMAGES : Uploader des images de vos logiciels
Avatar de l’utilisateur
Zorro
Messages : 2185
Inscription : mar. 31/mai/2016 9:06

Re: image to Icone (et pixeliseur)

Message par Zorro »

tu dis qu'il faut deposer l'image sur ta fenetre
mais chez moi, le Drag an Drop n'est pas en fonction !! (curseur en panneau de Stationnement interdit )
Image
Image
Site: http://michel.dobro.free.fr/
Devise :"dis moi ce dont tu as besoin, je t'expliquerai comment t'en passer"
Avatar de l’utilisateur
Ar-S
Messages : 9472
Inscription : dim. 09/oct./2005 16:51
Contact :

Re: image to Icone (et pixeliseur)

Message par Ar-S »

Essaye sans ton EPB pour voir :twisted:
~~~~Règles du forum ~~~~
⋅.˳˳.⋅ॱ˙˙ॱ⋅.˳Ar-S ˳.⋅ॱ˙˙ॱ⋅.˳˳.⋅
W11x64 PB 6.x
Section HORS SUJET : ICI
LDV MULTIMEDIA : Dépannage informatique & mes Logiciels PB
UPLOAD D'IMAGES : Uploader des images de vos logiciels
Avatar de l’utilisateur
Zorro
Messages : 2185
Inscription : mar. 31/mai/2016 9:06

Re: image to Icone (et pixeliseur)

Message par Zorro »

Ar-S a écrit :Essaye sans ton EPB pour voir :twisted:
oui bizarre, encore un bug a denicher :roll:

bon pour ton code, chez moi tel quel ça fonctionne !

il faut un petit temps avant de voir generer l'icone, mais ça marche ! :)

Code : Tout sélectionner

 ; Icon'it
; By Ar-S // oct 2016
; PB 5.50 x86
; Glisser déposer une image sur le soft
; choisissez la taille, le format et les options
; sauvez

UseJPEGImageDecoder()
UsePNGImageDecoder()
UseTGAImageDecoder()
UseTIFFImageDecoder()

UsePNGImageEncoder()

Declare Lock(State_lock)
Declare RempliCanvas()
Declare Cloneimage()
Declare DessineImages()
Declare ConvertImage(encodage)
Declare CreateIcon(Image.l)
Declare.i SaveIcon(hIcon, filename$)

Macro Mess(message)
  SetGadgetText(#aff,"Images converties en " + message + " couleurs.")
  SetGadgetColor(#aff,#PB_Gadget_BackColor, $00FF00)
EndMacro

Macro Mess2(message2)
  SetGadgetText(#aff,"Taille de l'image " + message2)
EndMacro

Enumeration
  #LDVM
  #chk_bordure
  #Chk_transp
  #Txt_col
  #Chk_4b
  #Chk_8b
  #Chk_24b
  #Chk_32b
  #AFF
  #g_titre
  #titre
  #Sauve
 
  ; Traitement des futures images
  #Ori
  #im_enc
  #IM
EndEnumeration

Enumeration 20 ; canvas
  #Bt_16
  #Bt_32
  #Bt_64
  #Bt_128
  #Bt_256
EndEnumeration

Enumeration 30 ; images des canvas
  #ico_16
  #ico_32
  #ico_64
  #ico_128
  #ico_256
EndEnumeration



Global titre = CatchImage(#titre, ?titre_s, ?titre_e - ?titre_s)
Global Couleur,Format_Image, Prof_Image, IM_A_SAUVER
Global.b COLORSTATE, TRANSPARENT, State_lock
Global Name$,Path$,oldmessage.s

IM_A_SAUVER = 0

Procedure Cloneimage()
 
  For i = #ico_16 To #ico_256
    CopyImage(#ori,i) 
  Next
  ResizeImage(#ico_256,256,256,LeMode)
  ResizeImage(#ico_128,128,128,LeMode)
  ResizeImage(#ico_64,64,64,LeMode)
  ResizeImage(#ico_32,32,32,LeMode)
  ResizeImage(#ico_16,16,16,LeMode)
  FreeImage(#ori)
  ; L'image originale devient la plus grande (256 pixels) pour une traitement futur plus rapide
  CopyImage(#ico_256,#ori) 
EndProcedure

Procedure Lock(State_lock)
  DisableGadget(#chk_bordure,State_lock)
  DisableGadget(#Chk_transp,State_lock)
  DisableGadget(#Chk_4b,State_lock)
  DisableGadget(#Chk_8b,State_lock)
  DisableGadget(#Chk_24b,State_lock)
  DisableGadget(#Chk_32b,State_lock)
  DisableGadget(#Sauve,State_lock)
  DisableGadget(#bt_16,State_lock)
  DisableGadget(#bt_32,State_lock)
  DisableGadget(#bt_64,State_lock)
  DisableGadget(#bt_128,State_lock)
  DisableGadget(#bt_256,State_lock)
EndProcedure


Procedure ConvertImage(encodage)
  Protected *IM
  CopyImage(#ori,#im_enc)
  *IM = EncodeImage(#im_enc ,#PB_ImagePlugin_PNG, #PB_Image_FloydSteinberg, encodage)
  CatchImage(#im_enc, *IM)
  For i = #ico_16 To #ico_256
    CopyImage(#im_enc,i) 
  Next
  ResizeImage(#ico_256,256,256,LeMode)
  ResizeImage(#ico_128,128,128,LeMode)
  ResizeImage(#ico_64,64,64,LeMode)
  ResizeImage(#ico_32,32,32,LeMode)
  ResizeImage(#ico_16,16,16,LeMode) 
 
EndProcedure


Procedure RempliCanvas()
  For i =   #Bt_16 To #Bt_256
    L = GadgetWidth(i) : H = GadgetHeight(i)
    StartDrawing(CanvasOutput(i))
    Box(0,0,L,H,$0)
    StopDrawing()
  Next
 
EndProcedure

Procedure DessineImages()
  For i = 1 To 5
    StartDrawing(CanvasOutput(i+19))
   
    DrawingMode(#PB_2DDrawing_Default)
    DrawImage(ImageID(29+i),0,0)
   
    If COLORSTATE = 1
      DrawingMode(#PB_2DDrawing_Outlined)
      Box(0,0,ImageWidth(29+i),ImageHeight(29+i), Couleur)
    EndIf
   
    StopDrawing()
   
  Next 
EndProcedure

Procedure CreateIcon(Image.l)
      ;Octavius
      Protected NewIcon.ICONINFO,Mask.l,Icon.l
      Mask=CreateImage(#PB_Any,ImageWidth(Image),ImageHeight(Image),32)
      NewIcon\fIcon=#True
      NewIcon\hbmMask=ImageID(Mask)
      NewIcon\hbmColor=ImageID(Image)
      Icon=CreateIconIndirect_(@NewIcon)
      FreeImage(Mask)
      ProcedureReturn Icon
EndProcedure
Procedure.i SaveIcon(hIcon, filename$)
      ;Srod
      Protected result, iconinfo.ICONINFO, hbmMask, hbmColor
      Protected cbitmap.BITMAP, cwidth, cheight, cbitsperpixel, colorcount, colorplanes
      Protected mbitmap.BITMAP, mwidth, mheight, fIcon, xHotspot, yHotspot
      Protected file, imagebytecount, hdc, oldbitmap, mem, bytesinrow, temp
      Protected *bitmapinfo.BITMAPINFO
      ;Get information regarding the icon.
      If Not(GetIconInfo_(hIcon, iconinfo)) : ProcedureReturn 0 : EndIf ;Not a valid icon handle.
      fIcon=2-iconinfo\fIcon  ;icon = 1, cursor = 2,
      If fIcon=2  ;Cursor.
            xHotspot=iconinfo\xHotspot
            yHotspot=iconinfo\yHotspot
      EndIf
      ;Allocate memory for a BITMAPINFO structure + a color table with 256 entries.
      *bitmapinfo = AllocateMemory(SizeOf(BITMAPINFO) + SizeOf(RGBQUAD)<<8)
      If *bitmapinfo = 0 : ProcedureReturn 0 :EndIf
      ;Get the mask (AND) bitmap, which, if the icon is B/W monochrome, contains the colour bitmap.
      hbmMask=iconinfo\hbmMask
      GetObject_(hbmMask, SizeOf(BITMAP),mbitmap)
      mwidth= mbitmap\bmWidth
      mheight= mbitmap\bmHeight
      ;Get the colour (XOR) bitmap.
      hbmColor=iconinfo\hbmColor
      If hbmColor
            GetObject_(hbmColor, SizeOf(BITMAP),cbitmap)
            cwidth= cbitmap\bmWidth
            cheight= cbitmap\bmHeight
            cbitsperpixel = cbitmap\bmBitsPixel
            If cbitsperpixel = 0 : cbitsperpixel = 1 : EndIf
            If cbitsperpixel < 8
                  colorcount=Pow(2,cbitsperpixel) ;colorcount = 0 if 8 or more bpp.
            EndIf
            colorplanes=cbitmap\bmplanes
      Else ;Monochrome icon.
            cwidth= mwidth
            cheight= mheight/2
            cbitsperpixel = 1
            colorcount=2
            colorplanes=1
            mheight=cheight
      EndIf
      ;Ready to start creating the file.
      file=CreateFile(#PB_Any,filename$)
      If file
            ;Write the data.
            ;word = 0
            WriteWord(file,0)
            ;word = 1 for icon, 2 for cursor.
            WriteWord(file,ficon) ;1 for icon, 2 for cursor.
            ;word = number of icons in file.
            WriteWord(file,1)  ;***CHANGE IF EXTENDING CODE TO MORE THAN ONE ICON***
            ;16 byte ICONDIRENTRY structure, one for each icon.
            WriteByte(file, cwidth)
            WriteByte(file, cheight)
            WriteByte(file, colorcount)
            WriteByte(file, 0) ;Reserved.
            If ficon=1   ;Icon.
                  WriteWord(file, colorplanes) ;Should equal 1, -but just in case!
                  WriteWord(file, cbitsperpixel)
            Else ;Cursor.
                  WriteWord(file, xhotspot)
                  WriteWord(file, yhotspot)
            EndIf
            WriteLong(file,0) ;TEMPORARY! WE NEED TO RETURN WHEN WE KNOW THE EXACT QUANTITY.
            ; Size of (InfoHeader + ANDbitmap + XORbitmap)
            WriteLong(file,Loc(file)+4)  ;FilePos, where InfoHeader starts
            ;Now the image data in the form BITMAPINFOHEADER (40 bytes) + colour map for the colour bitmap
            ;+ bits of colour bitmap + bits of mask bitmap. Gulp! One for each icon.
            ;40 byte BITMAPINFOHEADER structure.
            imagebytecount=SizeOf(BITMAPINFOHEADER)
            WriteLong(file, imagebytecount) ;Should be 40.
            WriteLong(file, cwidth)
            WriteLong(file, cheight+mheight) ;Combined heights of colour + mask images.
            WriteWord(file, colorplanes) ;Should equal 1, -but just in case!
            WriteWord(file, cbitsperpixel)
            WriteLong(file, 0) ;Compression.
            WriteLong(file, 0) ;Image size. Valid to set to zero if there's no compression.
            WriteLong(file, 0) ;Unused.
            WriteLong(file, 0) ;Unused.
            WriteLong(file, 0) ;Unused.
            WriteLong(file, 0) ;Unused.
            ;Colour map. Only applies for <= 8 bpp.
            hdc=CreateCompatibleDC_(0) ;Needed in order to get the colour table.
            If hbmColor = 0   ;Monochrome icon.
                  WriteLong(file, #Black)
                  WriteLong(file, #White)
                  imagebytecount+SizeOf(rgbquad)*2
            ElseIf cbitsperpixel<=8 ;Includes 1 bit non-monochrome icons.
                  ;Get colour table.
                  temp=Pow(2,cbitsperpixel)
                  bytesinrow = SizeOf(rgbquad)*temp
                  mem=AllocateMemory(bytesinrow)
                  oldbitmap=SelectObject_(hdc, hbmColor)
                  GetDIBColorTable_(hdc, 0, temp, mem)     
                  WriteData(file, mem, bytesinrow) ;Write color table.
                  FreeMemory(mem)
                  SelectObject_(hdc, oldbitmap)
                  imagebytecount+bytesinrow
            EndIf
            ;Now the colour image bits. We use GetDiBits_() for this.
            bytesinrow = (cwidth*cbitsperpixel+31)/32*4  ;Aligned to a 4-byte boundary.
            bytesinrow * cheight
            mem=AllocateMemory(bytesinrow)
            *bitmapinfo\bmiHeader\biSize=SizeOf(BITMAPINFOHEADER)
            *bitmapinfo\bmiHeader\biWidth=cwidth
            *bitmapinfo\bmiHeader\biPlanes=colorplanes
            *bitmapinfo\bmiHeader\biBitCount=cbitsperpixel
            If hbmColor
                  *bitmapinfo\bmiHeader\biHeight=cheight
                  GetDIBits_(hdc,hbmColor,0,cheight,mem,*bitmapinfo,#DIB_RGB_COLORS)
            Else ;Monochrome color image is the bottom half of the mask image.
                  *bitmapinfo\bmiHeader\biHeight=2*cheight
                  GetDIBits_(hdc,hbmMask,0,cheight,mem,*bitmapinfo,#DIB_RGB_COLORS)
            EndIf
            WriteData(file, mem, bytesinrow)
            FreeMemory(mem)
            imagebytecount+bytesinrow
            ;Now the mask image bits. We use GetDiBits_() for this.
            bytesinrow = (mwidth+31)/32*4  ;Aligned to a 4-byte boundary.
            bytesinrow * mheight
            mem=AllocateMemory(bytesinrow)
            *bitmapinfo\bmiHeader\biWidth=mwidth
            *bitmapinfo\bmiHeader\biPlanes=1
            *bitmapinfo\bmiHeader\biBitCount=1
            If hbmColor
                  *bitmapinfo\bmiHeader\biHeight=mheight
                  GetDIBits_(hdc,hbmMask,0,mheight,mem,*bitmapinfo,#DIB_RGB_COLORS)
            Else
                  *bitmapinfo\bmiHeader\biHeight=2*mheight
                  GetDIBits_(hdc,hbmMask,mheight,mheight,mem,*bitmapinfo,#DIB_RGB_COLORS)
            EndIf
            WriteData(file, mem, bytesinrow)
            FreeMemory(mem)
            imagebytecount+bytesinrow
            DeleteDC_(hdc)
            ;Finally, return to the field we missed out.
            FileSeek(file, 14)
            WriteLong(file, imagebytecount)
      CloseFile(file)
      result= 1 ;Signal everything is fine.
      Else ;>
      result= 0
      EndIf;>
      DeleteObject_(hbmMask) ;These are copies created as a result of GetIconInfo_() and so require deleting.
      DeleteObject_(hbmColor)
      FreeMemory(*bitmapinfo)
      ProcedureReturn result
EndProcedure



Procedure OpenWindow_LDVM()
  If OpenWindow(#LDVM, 613, 300, 522, 300, "Pure Basic Icon Creator // LDVMULTIMEDIA", #PB_Window_ScreenCentered|#PB_Window_SystemMenu     )
   
    HideWindow(#LDVM,1)
    ImageGadget(#g_titre,10,1,233,53, titre)
   
    CanvasGadget(#Bt_16, 9, 258, 16, 16, 0)
    CanvasGadget(#Bt_32, 28, 242, 32, 32, 0)
    CanvasGadget(#Bt_64, 62, 210, 64, 64, 0)
    CanvasGadget(#Bt_128, 129, 146, 128, 128, 0)
    CanvasGadget(#Bt_256, 261, 18, 256, 256, 0)
    RempliCanvas()
   
    CheckBoxGadget(#chk_bordure, 5, 55, 160, 18, "Ajouter une bordure")
    CheckBoxGadget(#Chk_transp, 5, 78, 220, 18, "Gérer la transparence (vista et +)")
    TextGadget(#Txt_col, 5, 100, 200, 18, "Convesion des couleurs", #SS_CENTERIMAGE)
    OptionGadget(#Chk_4b, 5, 120, 75, 20, "4 bits")
    OptionGadget(#Chk_8b, 5, 143, 75, 20, "8 bits")
    OptionGadget(#Chk_24b, 5, 166, 75, 20, "24 bits")
    OptionGadget(#Chk_32b, 5, 190, 56, 20, "32 bits")
    StringGadget(#AFF, 2, 277, 415, 20, "Faites un glisser/déposer de l'image à transformer en icone", #PB_String_ReadOnly|#ES_CENTER)
    ButtonGadget(#Sauve,418,276,100,22,"Sauver l'icone")
    SetGadgetState(#Chk_32b,1)
    EnableWindowDrop(#LDVM, #PB_Drop_Files, #PB_Drag_Copy)
    State_Lock = 1
    Lock(State_Lock)
   
    HideWindow(#LDVM,0)
  EndIf
EndProcedure

OpenWindow_LDVM()

Repeat
  Select WaitWindowEvent()
    Case #PB_Event_WindowDrop
      Select EventDropType()
         
        Case #PB_Drop_Files
          Debug "Drop file: " + EventDropFiles()
          If LoadImage(#ori, EventDropFiles())
            Format_Image = ImageFormat(#ori)
            Prof_Image  = ImageDepth(#Ori,#PB_Image_InternalDepth)
            Name$ = GetFilePart(EventDropFiles(),#PB_FileSystem_NoExtension)
            Path$ = GetPathPart(EventDropFiles())
            Lock(0)
            Select Prof_Image
              Case 4
                SetGadgetState(#Chk_4b,1)
              Case 8
                SetGadgetState(#Chk_8b,1)
              Case 24
                SetGadgetState(#Chk_24b,1)
              Case 32
                SetGadgetState(#Chk_32b,1)
              Default
                SetGadgetState(#Chk_24b,1)
            EndSelect
           
            SetGadgetColor(#aff,#PB_Gadget_BackColor,$00ff00)
            ; Gestion des images
            ; Filtre des icones
           
            If Format_Image = #PB_ImagePlugin_ICON
              SetGadgetText(#Aff, "Le format icone n'est pas pris en charge")
              FreeImage(#ORI)
            Else 
              ; Si non PNG, on desactive la case transparence
              If Format_Image <> #PB_ImagePlugin_PNG
                DisableGadget(#Chk_transp,1)
              Else
                DisableGadget(#Chk_transp,0)
              EndIf
             
              IM_A_SAUVER = 0
              CloneImage()
             
              DessineImages()
            EndIf
          Else
            Debug "ce n'est pas une image"
          EndIf
         
      EndSelect
     
    Case #PB_Event_Gadget
      Select EventGadget()
         
          ; SAUVEGARDE
        Case #Sauve
          If  IM_A_SAUVER <> 0
           
            Filtre$ = "Icone (*.ico)|*.ico;"
            Fichier$ = SaveFileRequester("Sauvegarder l'icone", path$+Name$+".ico", Filtre$, 0)
            If Fichier$
              MessageRequester("Information", "Vous avez choisi ce fichier :"+Chr(10)+Fichier$, 0)
               icon_id=CreateIcon(IM_A_SAUVER)
               SaveIcon(icon_id, Fichier$)
             
            Else
              SetGadgetText(#aff,"L'opération a été annulée.")
              SetGadgetColor(#aff,#PB_Gadget_BackColor,$0000ff)
            EndIf
           
           
           
          Else
            MessageRequester("Information","Vous devez d'abord sélectionner l'image à convertir !",0) 
          EndIf
         
         
         
         
          ; CANVAS
        Case #bt_16
          Select EventType()
             
            Case #PB_EventType_MouseLeave 
              SetGadgetText(#aff,oldmessage.s)
             
            Case #PB_EventType_MouseEnter
              SetGadgetAttribute(#Bt_16,#PB_Canvas_Cursor, #PB_Cursor_Hand )
              Mess2("16x16")
             
            Case #PB_EventType_LeftClick
              Debug "clap"
              SetGadgetText(#aff, "Icone de sortie en 16x16")
              oldmessage.s = GetGadgetText(#aff)
              IM_A_SAUVER = #ico_16
              SetGadgetColor(#aff,#PB_Gadget_BackColor,$00FF00)
             
          EndSelect
         
         
         
        Case #Bt_32
          Select EventType()
             
            Case #PB_EventType_MouseLeave 
              SetGadgetText(#aff,oldmessage.s)
             
            Case #PB_EventType_MouseEnter
              SetGadgetAttribute(#Bt_32,#PB_Canvas_Cursor, #PB_Cursor_Hand )
              Mess2("32x32")
             
            Case #PB_EventType_LeftClick
              SetGadgetText(#aff, "Icone de sortie en 32x32")
              oldmessage.s = GetGadgetText(#aff)
              IM_A_SAUVER = #ico_32
              SetGadgetColor(#aff,#PB_Gadget_BackColor,$00FF00)
             
          EndSelect
         
        Case #Bt_64
          Select EventType()
             
            Case #PB_EventType_MouseLeave 
              SetGadgetText(#aff,oldmessage.s)
             
            Case #PB_EventType_MouseEnter
              SetGadgetAttribute(#Bt_64,#PB_Canvas_Cursor, #PB_Cursor_Hand )
              Mess2("64x64")
             
            Case #PB_EventType_LeftClick
              SetGadgetText(#aff, "Icone de sortie en 64x64")
              oldmessage.s = GetGadgetText(#aff)
              IM_A_SAUVER = #ico_64
              SetGadgetColor(#aff,#PB_Gadget_BackColor,$00FF00)
             
          EndSelect
         
        Case #Bt_128
          Select EventType()
             
            Case #PB_EventType_MouseLeave 
              SetGadgetText(#aff,oldmessage.s)
             
            Case #PB_EventType_MouseEnter
              SetGadgetAttribute(#Bt_128,#PB_Canvas_Cursor, #PB_Cursor_Hand )
              Mess2("128x128")
             
            Case #PB_EventType_LeftClick
              SetGadgetText(#aff, "Icone de sortie en 128x128")
              oldmessage.s = GetGadgetText(#aff)
              IM_A_SAUVER = #ico_128
              SetGadgetColor(#aff,#PB_Gadget_BackColor,$00FF00)
             
          EndSelect
         
        Case #Bt_256
          Select EventType()
             
            Case #PB_EventType_MouseLeave 
              SetGadgetText(#aff,oldmessage.s)
             
            Case #PB_EventType_MouseEnter
              SetGadgetAttribute(#Bt_256,#PB_Canvas_Cursor, #PB_Cursor_Hand )
              Mess2("256x256")
             
            Case #PB_EventType_LeftClick
              SetGadgetText(#aff, "Icone de sortie en 256x256")
              oldmessage.s = GetGadgetText(#aff)
              IM_A_SAUVER = #ico_256
              SetGadgetColor(#aff,#PB_Gadget_BackColor,$00FF00)
             
          EndSelect
         
         
        Case #chk_bordure
          If GetGadgetState(#chk_bordure) = 1
            Couleur = ColorRequester()
            COLORSTATE = 1
          Else
            COLORSTATE = 0   
          EndIf
          DessineImages()
         
        Case #Chk_transp
          If GetGadgetState(#Chk_transp) = 1
            TRANSPARENT = 1
          Else
            TRANSPARENT = 0 
          EndIf
          DessineImages()
         
        Case #Chk_4b
          ConvertImage(4)
          DessineImages()
          Mess("16")
          Prof_Image = 4
        Case #Chk_8b
          ConvertImage(8)
          DessineImages()
          Mess("256")
          Prof_Image = 8
        Case #Chk_24b
          ConvertImage(24)
          DessineImages()
          Mess("16,8 millions de")
          Prof_Image = 16
        Case #Chk_32b
          ConvertImage(32)
          DessineImages()
          Mess("4 milliards de" )
          Prof_Image = 32
      EndSelect
    Case #PB_Event_CloseWindow
      Select EventWindow()
        Case #LDVM
          CloseWindow(#LDVM)
          Break
      EndSelect
  EndSelect
ForEver





DataSection
  titre_s:
  ; size : 8845 bytes
  Data.q $78451800E1FFD8FF,$002A494900006669,$0000000000000008,$1100ECFF00000000,$000100796B637544,$FF00005000000004,$3A707474682F03E1,$6F64612E736E2F2F,$782F6D6F632E6562
  Data.q $002F302E312F7061,$656B636170783F3C,$3D6E696765622074,$64692022BFBBEF22,$704D304D3557223D,$65727A4869686543,$636B7A63544E7A53,$783C203E3F226439,$6174656D706D783A
  Data.q $783A736E6C6D7820,$3A65626F6461223D,$2F6174656D3A736E,$74706D783A782022,$65626F6441223D6B,$726F4320504D5820,$30632D352E352065,$35312E3937203132,$3032202C32373735
  Data.q $33312F31302F3431,$303A34343A39312D,$2020202020202030,$6664723C203E2220,$6C6D78204644523A,$223D6664723A736E,$772F2F3A70747468,$726F2E33772E7777,$302F393939312F67
  Data.q $6664722D32322F32,$2D7861746E79732D,$723C203E2223736E,$72637365443A6664,$72206E6F69747069,$74756F62613A6664,$6E6C6D782022223D,$68223D706D783A73,$736E2F2F3A707474
  Data.q $632E65626F64612E,$312F7061782F6D6F,$6C6D7820222F302E,$4D4D706D783A736E,$2F3A70747468223D,$626F64612E736E2F,$61782F6D6F632E65,$6D6D2F302E312F70,$736E6C6D7820222F
  Data.q $223D66655274733A,$6E2F2F3A70747468,$2E65626F64612E73,$2F7061782F6D6F63,$707954732F302E31,$72756F7365522F65,$2022236665526563,$616572433A706D78,$3D6C6F6F54726F74
  Data.q $502065626F644122,$706F68736F746F68,$3431303220434320,$776F646E69572820,$4D706D7820222973,$6E6174736E493A4D,$6D78223D44496563,$31303A6469692E70,$3139413946343535
  Data.q $3838364531313846,$3636413131423330,$2022373241453342,$6F443A4D4D706D78,$4449746E656D7563,$69642E706D78223D,$4634353531303A64,$3131384631394239,$3142333038383645
  Data.q $4145334236364131,$6D783C203E223732,$697265443A4D4D70,$206D6F7246646576,$6E693A6665527473,$444965636E617473,$69692E706D78223D,$4634353531303A64,$3131384631393839
  Data.q $3142333038383645,$4145334236364131,$6552747320223732,$656D75636F643A66,$6D78223D4449746E,$31303A6469642E70,$3139393946343535,$3838364531313846,$3636413131423330
  Data.q $2F22373241453342,$3A6664722F3C203E,$7470697263736544,$722F3C203E6E6F69,$203E4644523A6664,$6D706D783A782F3C,$783F3C203E617465,$652074656B636170,$3E3F2272223D646E
  Data.q $626F64410E00EEFF,$01000000C0640065,$020202008400DBFF,$0302020202020202,$0202030403020202,$0404040404050403,$0505050505050605,$0607070807070606,$0C0C09090A0A0909
  Data.q $0C0C0C0C0C0C0C0C,$0303010C0C0C0C0C,$0906060905040503,$0E0E0F0D0B090B0D,$0C0C0C0C0F0F0E0E,$0C0C0C0C0C0F0F0C,$0C0C0C0C0C0C0F0C,$0C0C0C0C0C0C0C0C,$0C0C0C0C0C0C0C0C
  Data.q $C0FF0C0C0C0C0C0C,$03E9003500081100,$1103011102001101,$020000C000C4FF01,$0000000101010501,$0908000000000000,$02030A0605040007,$0103000302000101,$0000000000000000
  Data.q $0207050406000000,$0203010010010803,$0B0A080404030404,$0403020100000000,$3121070612000511,$1522611451410813,$6242B132A1817109,$7252911643239282,$C21936D3B373B2A2
  Data.q $B4947434246333D2,$0302030100111856,$0003080704070604,$1103020001000000,$1251413106052104,$91F00713B1817161,$6252423222D1C1A1,$161433238272E115,$245343D2C2B2A292
  Data.q $030C00DAFF352573,$3F00110311020001,$DFDE7DA110187800,$7B4D576B2BD9B9AD,$60D4C0218F658D7F,$B4915510AE53C0FA,$B388019A8046A98A,$E4947D95362C36DD,$AEB25B43608EDF12
  Data.q $8FDD6E323F5D0834,$25E9157C522BD4DD,$25FC3467887300FF,$6FDF8EAF48060D32,$67DC3E31DF2D66C1,$78622662B05E29A9,$13EA324F81AC43C8,$3FB8D2DEA0197D4C,$0EA47D34CB07C841
  Data.q $376EB7B76D6722FA,$BF6F4F6D68E62A66,$7C1B52B83CB2D2B2,$34346ABA2A077421,$E092ED864B1C8F3C,$0E58DC4FCFCCA536,$30D623488BB7D067,$2EEE15352A25CE52,$EBB99DDBD6EE6DF3
  Data.q $760A9E15CD06492D,$4754853C3569E853,$8145C66B1631E013,$FCEA769A655FC1DB,$1D0D8E6B83513473,$BDFD64BE5C2304A7,$5139D7DFE15A6A45,$F28A4A163304A592,$1C0A9F2840F523F8
  Data.q $1D96298D4D697642,$A7C241DBE92ACC07,$FBDE6EA6D86B40D5,$259DB8D8E17EDBB1,$ED734B9CDAE6D62D,$410956B40F53DAB2,$47024503A8345728,$10CF7BAB04823902,$6C388D33A94291F2
  Data.q $02875666EE58F1A3,$66C4905F288A7A28,$A52A90B6A5EEFB94,$293190303100D0A8,$42A968E521DD386A,$2D49FBB1A7F7EB6E,$91EA2AA3AA41DD76,$093C804C9E8F6C53,$1523810FB0B88465
  Data.q $E2F4158D064C66D2,$9D0E8DC45DF46C9C,$347444FD007130C2,$3300FFC8A0D4C755,$7B377BA20DF5927D,$D45C8B4C261A0E73,$9A3F1DB39F68ECA3,$163AB38A8FF6ED1D,$00FFBA00FF593E32
  Data.q $4DDA993B6BA7A2F4,$3EB8C1553FBA6EDE,$9E6CD5D1A1A2079A,$1850FE242D9A6D41,$2A3D6C1A72FC0D95,$0A326C7657D23287,$9D4DD7694D7B833D,$ACA6DF865AD464AA,$2D18CCD007B76FB3
  Data.q $15092101519FE729,$28CB240600C09324,$79C9585852C5A58D,$3FD2EC52D266613B,$8CD6823BD59F3D33,$923EC97C1B946B44,$3A24704B4765AAD9,$E7C485FA42099555,$3152E783B4AD743F
  Data.q $D01E86AB6989F95D,$48B1BC9523A33F9D,$E369F0B84661F74B,$CE651B32B903A0C2,$E397BCA0131BDE1D,$8B83A0262DB490BE,$778B4B2454383C46,$720C5908C56321C1,$B6BDBD2BEE28085D
  Data.q $B9899AD36DFBDEED,$D62DFAB2C9CD2BB7,$7529AB8421CE7AF6,$5353815A91125275,$D7D26BBEE2C04143,$4CD32CBF8956B472,$40FAE6E5CF24119E,$F93D6931A54E9304,$1B76B9936CDBBAD1
  Data.q $E110EB879D592482,$5095169294530AF7,$E3C083781084A6A4,$93EA82BF8869BD90,$A50F6D5BE6CB4A4C,$335FB4EDA577100F,$3473D1C2ED2E6E25,$7BEC947C319DF63B,$2A91D5E2A054A016
  Data.q $69613A927EFC145A,$21121FD0D0B5E449,$09AE8E98C3B5E78B,$63229C68DE56DA89,$D915D4B1E3900081,$13EFD13D8D12A3BB,$D5AC7E5B4C92B665,$B7D997B2E55CA211,$E90B346ACBD7A924
  Data.q $CF29ADA895AE9534,$9500306BBFE512CB,$7BCF1CB8A6A46343,$54DA504F9CCA0E58,$05EAF8BBDD64FE43,$887300FF25E9E781,$F4AF55BA8F9A00FF,$7BB6E0B76FE7BF13,$85D09A0BB717CC4F
  Data.q $4B69468A8A10986B,$3D80E0A5CACDC031,$6BA7D1DCE6385EBE,$AB6866A14B74A94F,$5729E41DD0FE8C66,$4E6F2FBAB447775A,$42EAD21FD1D4CEE5,$D5BD94FA657C1E17,$890A9773060D2821
  Data.q $2A65BFCE1D0709A0,$3E77D2A1ABDC49DC,$BA5D2A5A2BBF6C21,$CB86DAD45DDB149D,$CECE0CA760D7CC67,$A8F9F60B4A100C9B,$A29F7274854A0304,$D1BEB5119A63C4B5,$9355908DD04D57F1
  Data.q $FE2D8BB677B8D68E,$00FF0BEC7FBCBD64,$DD47CD0FCEFD97B4,$B76FE7BF0BF4E72B,$E3EE7691F959BDE0,$65A6316F19B54289,$0F06D592F5919445,$DD2ED0E12BDD47CD,$DE057DA4DCA33D3B
  Data.q $B19926FE1DEEC2E6,$8443244EBC4B28EB,$0E1B5281744BCBE2,$384EE3A07120E604,$0285208E6B328FED,$798C64490BCF45EF,$3A4D17A94F10D018,$80851694D6A1EDDB,$4DAA412C0EE2A152
  Data.q $AB8FE9D50E4D4B73,$DB1DE6B74A08AC8A,$A5551D6945DEB036,$AD07A5A2F4B73665,$660DCAADD3920A72,$4A111D2DAA525250,$4E86BEA7389E508A,$E64A1B2DD48AE662,$5D0BB93345268636
  Data.q $3B4CD5DBB4865D51,$66615D5DF6D5A552,$DA0E3794C4B5A6C9,$6809648AB76A8DD1,$660AA76684524201,$6BCA67A7DB8DC2A9,$A4B92A839F4EF482,$ECF6C4F1DB212C8C,$AFAF5F43B3FD51EC
  Data.q $B23423A701DD72CB,$518907F273391D81,$80F6428AEC38A814,$4A5B26DB4B944BC0,$1D8026E3383ADCE7,$B64F7D69903D1DA5,$E896C33EBC7383BB,$594101A88CD986D7,$F09490D782526BCB
  Data.q $47967D71E2F140CC,$AE4B1640E11C9E33,$0E0E149DADE8722F,$9DA6F895BAD9C873,$49DB8B0D96727FDC,$B029EF7AE0E2921A,$2E99EC0085D69ECD,$009FCCDB0369D303,$31BC6E2F2D063C09
  Data.q $8C692255FAA8DFCA,$DB4D4435CD385E84,$386DF6494773C7C5,$DDB15E6EBEF3B902,$D5A8486B56374D9D,$34876191E2E0923A,$2219666E63FB1619,$74DF23C05A5B55C1,$AEA98503D414972B
  Data.q $97DFD63B891B0DF9,$DB587EF9D072D369,$693BF1DF8E06A3B1,$C6E9C6AAC1164CE3,$EE01BEE6EC1B5DD2,$9A2041D3B28CE821,$DE87570AA465E100,$018273D0D391E838,$EE16EE856550B656
  Data.q $7AB87DD26E37D28D,$DC9766D62DD9C394,$C49CC54CA1ED32C9,$A89556C80919EE76,$4B79899582C757A0,$05E6B90476C5E9DE,$790E40B95B19B4AD,$BEA7A2F5EC8A7418,$4EED221616AFF14E
  Data.q $97B0B9A6367D5CDC,$7C1D832A8876772F,$AFE5508E3A6A4D00,$7CD75716177FEF21,$2F099EF436B28FE4,$B3228FB1CB1FE44A,$38F57E238F6B8B49,$2E7DADEA4E3BB29F,$204A3AE8ADB9A6D6
  Data.q $A40BF5C70F622281,$FD1675C0E394723F,$6CE48A98D1A9C4C1,$991B52AC6A8279A4,$92DBD3528FB13C25,$F20E1EEFF1ECE559,$A9A7263D6FF5775C,$9D66E47C0DD9AB6E,$0ED35460D4E22A2F
  Data.q $1C49099DD794E22D,$A295EAC2927D8C7E,$3C30102FB2AB67E1,$065814FAD30E8A76,$E4A7F9164DFDDBA1,$CCACF0916DF5A63F,$A1050754391E8AFB,$EC9D211123F0205E,$DAA61C7398D8AF3C
  Data.q $71A31D737A6B82E5,$EFB2A0534C1FBC07,$4D7EA87EDAD9BB83,$07C7E77129167E11,$B42601B86D65E893,$32B909C3F0090DCC,$DC466E1D0BED9ADA,$0EC4AF7C948F3EBF,$B7643B2438EC7807
  Data.q $DB7CA9C09CADF5B2,$34658BA95B8AE5A0,$798B2D479645665A,$27BA3FECA8933BB1,$AAC0ADB56CA34C6E,$8C2B4F094C406DF1,$7852F3D495120586,$F54D3917C7477D05,$98BF59F0DD6C473E
  Data.q $3ECEC7A81BBC581A,$6EC27A7A7CF1C7B1,$A4A010975087B88D,$45918A45861154A8,$82BBE9D792CCDFCE,$63CCC24D0A584EB2,$FB47A94FA309A082,$ADA8E33DD4DF2A5C,$0CC4D5DABE064AF7
  Data.q $019B57EA1FED9B43,$4D747427760A35A8,$69135DE1F6313B88,$89CB91EB94F7D980,$AD11B7BF969A4742,$419D2B7538917424,$C0016D04F49D1569,$DBB75BA1B447E275,$8E88906273DDC50D
  Data.q $94A4825CAB23CBA5,$C15155C2A65296F4,$4C03983D7C2E5755,$CAB1A349A23880B3,$C25907D21098245F,$8FFB6BE76F54A49E,$33E3C062B771D77A,$94FAB44F118BCCA2,$FB2D290115BD6397
  Data.q $0F45E24142924A8A,$4143C0CCDB5D279E,$87EB32CE9EBED23B,$77907220AD3DF3B1,$62AFB642F14AD9ED,$893E566F70F12EF3,$0909147A929685FA,$7139524A09097004,$89391E4AD3CCC2A0
  Data.q $F6C5B6DCB2DB8ADB,$6FA0D5F2A4B510EE,$3DDB6CBBD6FA38ED,$D6446CB72482774F,$E501054A96B60A64,$F3DE6B4D2C4F4AC5,$BDBD3DB314A7C158,$2E8F138C642F4BB3,$1A6F4F742E5AA715
  Data.q $7B2677DB8BEC5D87,$686AF386EEB1F996,$2045F5C7394CEB82,$550A1E9A2805858A,$8987336743DBF878,$4296473DB3CF82BF,$5AE386F7590D68F1,$BE4DDD84BD4E94FA,$AFD7149518144693
  Data.q $5B60FC139252D715,$B9B52610D7C80715,$EEB96537B1872669,$144ED2C88C6D2C4B,$B8B744B1D3B8C370,$5DA26EB9E676CB2F,$56F12F8E99D697F1,$F34FC5F250DF7B95,$A6FC7FA2F57C120F
  Data.q $508F1706E0434BDE,$72C45D68B1430AFD,$400A5346F9167914,$0890842D5C87342D,$C4159913A7A0351D,$19665C2BD1809983,$6FE247A71B86A43D,$AB2D3BD290E59EC2,$C21726FB727AD71C
  Data.q $B329BBB847BA6CD5,$0002A25DF2B095EF,$7689D907E0299200,$B3976890F224D7B6,$696F2C9E8D24EFEC,$33BADCEEBC011870,$EB8199A6DBCC4BDA,$7CAE9294328DBA02,$6E5E402B6F631C06
  Data.q $A512369E2B4B94BB,$9DB24260D55173AC,$420BE83B2EEC8905,$AACC4790103808C5,$B7C3DE6EEE4E1BD1,$A1AF8BBB35312DA1,$23FD138A0AA90A20,$0FC0F3C8A0CD8C85,$B3A565AE3CF4DC7A
  Data.q $257E397B75CFC141,$736FA98B6081F658,$27A9A6425C42CCE1,$9D56C774D300AF30,$FF4C723E56EAA968,$1D27F7D17E3C0E00,$68FC61A6311DDA6A,$00A854D74CBF6D47,$4A1A435E1AAEE83E
  Data.q $D266ADC475E3EDC0,$EDA46ED7FD3E174D,$7AA9E446CC0BDFE7,$4FC2CEAEED3E4357,$558E78CA8468D4B9,$5238F348EC414E2B,$B7BB6BE7A521B8BC,$4AD74CE6F4A1577C,$ED5F7F0C11FD66CB
  Data.q $BD4BC5A38EF4D593,$724DE2A7D703EDBD,$FE53203D81895C29,$FC13874A1F7295C9,$F71300FFB2C9ED18,$D0C6D5C93C50ECAF,$DD11F369686C217F,$4EDBC3B64DEAE9F1,$6F0BE2157DA69B9A
  Data.q $D420480BA9B286FA,$6F240349331C0471,$2C2ECDB20F0B862B,$F7E5500E7162F1E5,$A67A2F5BD0FEB460,$C90E43CBD66D660C,$262A09212504B421,$DA312C8318720089,$8DF965345130E744
  Data.q $152E0F57147F7FDE,$5AB8E3D2DD4C24F6,$A8E37E552EACFDC2,$D525A5666D5B9727,$1EA99C907CA06564,$E9C10096F77B85C1,$920FB7D54EDA6EC5,$3B1A1B70B001C3E9,$B95B63B7ED5E1305
  Data.q $EB1445593D060131,$493F4AC5A3563C85,$B4138C2164552EC3,$D73B3379EA5F4FAC,$DD99001A367CD246,$E4B02D28C4F4669F,$B2C54855D172D626,$EBE9F4DD44A281CF,$294B2B74ABDF8E76
  Data.q $008E92A7F0F69969,$E625BC3E2AA0BC94,$FC4534A617690E71,$226047AD71400B82,$8BDEDCB8DD6CE59D,$EA8E884A6F95FBB7,$709C84FA01BFD126,$71D54BA9BFDB24B0,$E83DDA07B5C5B9B5
  Data.q $DE0E8D749791D10F,$714ADB901D884B99,$B7882B28CD3967AA,$C534AF6AA5B56CB4,$9138000BF1E5B065,$24F5A1FD76CB6DB5,$6145DDB643BA952B,$0E9C1100FF320F71,$481F816321B31C4A
  Data.q $C60A0E0D734E4CC7,$02310F0B98AE18FE,$A7F8EF203D0EF187,$D2E28D767317DAF3,$DA96DA88904F6051,$70E80CB58072B194,$ED119F3457697D0A,$AE1C257C5B8EC3A8,$8C7596A6359C17DA
  Data.q $78B27FDCEE477886,$B5E5CCCF9610771F,$EC3624853B747AA3,$24EB5202A70B6109,$9E0F985B312AFBD0,$F5DF3DBA4EEFA14E,$5E59E400FF593F6D,$200E9BDBF74BD8C7,$82C8931416139929
  Data.q $5ECD6BFB341C63CB,$A665C498F29B4F0A,$F9F6B84193FB9887,$B60D8B768D759D65,$789E385282E2526A,$6EC4026A18BB6565,$40F2C88696AB7BB3,$6C1B80EF56D19053,$C82314C936B45286
  Data.q $5A87FA2350ECB463,$96DCD9E228B9B3E6,$0953C3633946B7BB,$1F8842C700800365,$7F5C391ACC463859,$9A78E299904EF512,$F4CDCE8FDC21020E,$CA9E78DBE957B32D,$FFE279788F2DA31D
  Data.q $E645563BF0682300,$7047FA69D3FCAE94,$AB4E832D6D4DEF4C,$BB1880474DC8683C,$6CA3DA5EED248959,$DA861DE714DAED74,$846379A484AE2C9C,$6166F99B452AAD82,$16AB84D32D990BE9
  Data.q $BAC60C9E8D7D6EF6,$2E252E0114400848,$20C7D83B849D1F0E,$2179351DEBF53E3D,$0A587BB0C0017BB8,$D1AB3E3BE999DD6C,$6331AA4B195CA5D6,$93D530B678029C93,$734B3BE60916C09A
  Data.q $7464A37814209E67,$3529D086A94B1DAA,$54E212245A8B91E0,$784C47B344B367A7,$E20B0C80222184AD,$09815508AC4260CC,$40B6B13B41D27C09,$B3F070FAD33D2671,$34DC7A0F75727D99
  Data.q $00FF6FFCA8B5AD50,$FE3B53FC6BECF922,$B43BAD8EB5D85FBD,$00FF887E390F2BF5,$8FDD77DCA193FB58,$2A98382458A7D7B6,$4224BFBF38C91FA1,$995F6393165970EA,$32F4512E98B31DC2
  Data.q $8B0CD453B99A7053,$E0F9FE15C7CCE69C,$3137E179DAA7265C,$D6684B2FB85B3B3F,$E73D6EFD98A5E50F,$B3081E7A6A67D015,$0A0A285108A9BAC4,$38D0C486364B87E1,$9530976439EA312F
  Data.q $BD83FB13C5BC56D2,$AC5B00FF36B56B3B,$5D10B211C5BE3DB5,$1155214F4D1AFA94,$D08CE36E09067C52,$F1EE76FAE5BEE0ED,$F580E3DA6014ED85,$7467DAB80B773E94,$625EDFEE0BDC647B
  Data.q $71390C5CB04BA25F,$BC07D6E9B3B40F1C,$3788E340E0A135D1,$D15411371C960DB7,$071E0033EC9932A6,$521A9AA09D72C7CC,$1943DBF0B9E0719B,$585C9510B52E7689,$0AB70F1A45E5512A
  Data.q $B7E2839DE0F747D7,$CC476B2E65808DCC,$AEA4AB3D10B4D3EA,$6CF936D299F06CDA,$87D1874AA0ADA804,$9999BCE0142C08C8,$14F3180F64EEF8C6,$77D9962CD1AE5E47,$A9A5366396A58E19
  Data.q $6320CB3E061C344A,$3653F7D1CAAE2B49,$EEC97D2F57920A36,$56D4A52EDCBB5B43,$DDAE85225BD6BAF7,$1697A58A69A11A20,$00880FA014170A9F,$B876E2C65AFA32E1,$A3B84B0E5BE94BAF
  Data.q $A9307727400BD36F,$EC625722F6F2B477,$B27170574DDBC52F,$0E1EBE92CBB7CD85,$C1D9774C9B7F5921,$33937A5571E766C9,$F538D987088E1A17,$8C9D1B8FED025493,$0E31A6BF16E7461E
  Data.q $00FFE3E931C1F8EF,$76E85E9AE2A67FAE,$D2B1762BDBC1BDC8,$6CD48D684BBDA5EC,$07E5345501E4C181,$F93737988F877D25,$9B15D318ED613C77,$3B6BDDAE6D622D69,$D083EE4ECA635EBE
  Data.q $57BF3AD1F0D2FA77,$EDC2695367B126ED,$3AB377A17F69F3BE,$0F70D9F70A81034A,$F16B8EF81C3EDDA3,$BD56D8942676624E,$306F2C097FC7957F,$A9B84FF7A76F0E76,$EDA67D6FD9FDBA5F
  Data.q $1A8B9FC61981AC6E,$7A1A75CA1DE71EE3,$AF4F1139B0900AB1,$8B79895EB289E198,$B10FD3B25A7A0FB8,$624AF31C901A3210,$E8613744EA03A3DF,$E8BF9A989B937CCD,$373F25D7FEB41323
  Data.q $21F7F49E7815CBAB,$C242C3407E60458A,$AB00FF77F98FDC97,$FD712E76F838E057,$FD3F18DDFB72AD43,$C500FFC7C5BEB845,$F7587FD087F9086F,$3F6600FF016953AF,$F07FB0BB4CEE4DFC
  Data.q $FC47FEC59BEA1FEC,$D400FFA57991D50E,$D1871C5913DC91FD,$69344319AF99A58B,$B6E3E3B08FA5CD03,$D7E5C23A1E8DC82E,$829E1B7427A6F8B8,$073C52E230651241,$1F73116EFE3465A2
  Data.q $69F4AAD77B829EE1,$00F86FA3F66BE3AD,$A8E9BA24D87D26F7,$6AF427B42154054D,$B58335238761F629,$C87E9ACBC769BE63,$56C92C5D8CA909EE,$B797105885C02A04,$DB69B0ED4CE3BD7A
  Data.q $D4A945DDF1C38E3D,$B60C4BC765A100FF,$B310B8C5559F6ED4,$E1F31A071280BAC0,$34ADC53597BBCB8A,$134BB06490EFF4A6,$34688DC6C5A59966,$496E544A4393B4D9,$A55EEF50CFB77E7F
  Data.q $F6330A3359A3DAD2,$F83AEE2DB675EB98,$B671595B94746642,$A571D472C5F4F4FD,$A3E6A57B27170D6A,$066F594E5BEA48AA,$266E64C38B2E205E,$1F063BA6E62EE695,$AE26EFDF762C182E
  Data.q $44C24FD173952AD0,$31AF2E63069DFA92,$224EF05B87E40929,$E486910AB8DAE740,$72E7409F6F419AC1,$13E23E304775D4B5,$AFBD736DBB17ED37,$FB5010E8DCB98DEA,$6D5C02CA7DAB1271
  Data.q $AEDB160A52E1B6A5,$AF7185204092423A,$E16306F7362C4E21,$723319678F85A0D6,$6E7423183600FFF6,$294EE124EB432B1B,$7183F6DCCD76EF75,$BA618F0B4B960535,$944601B9995E7ACD
  Data.q $360538122C2B8AD3,$FC15A5F3A198074D,$BE5A959E8DD8896F,$0375AC86BDB7BB93,$B363785AE2041DF1,$DAEDBA131A48B5A3,$6DFBBAD5EE3FFBDB,$E49159172124108F,$49615B2A3C69E33C
  Data.q $3C5FDA394EE9230B,$2D0D6AA380989737,$1C271F13DE4CE96E,$2DA1287B45A8F647,$D7EBF0427753D4C2,$650E096A5FDB85AB,$A590320D333FFD62,$4A1B522A6BFB961C,$27C9472DC52933C5
  Data.q $BCE36DF41B76DF1C,$62BE4FD716057AFA,$3706A3C14003CD0D,$74CBAE30C5AD8FD3,$BA8B2635A3C1C655,$B7DDD775AA2E7EE6,$94AC21AD7AA69D13,$26FC70AA6A3909E2,$54F8C5B1F2D9CADE
  Data.q $D47DD976E752EB2C,$D948AA1BDE3CB64C,$D979397BBB2D10D4,$C7EE28D7D2745FED,$49A9ABE96E21B9B4,$BC525A4A94C2B8E9,$8DBD5F78DE5E8E16,$97065B717AA43EF1,$0EA8630DB5BFB6BC
  Data.q $4EC5DDEA093F3C2D,$36FCECE786DE35FB,$90B456D598DB4F2C,$90237D46209757DC,$7D4A94BF42C1520B,$8082BD99679178BE,$4F173434A94D15F6,$389AA6FDA48E24F1,$AF6FCA42D4F3CEFE
  Data.q $9465627ABA995B79,$622A31D722FAAD5C,$E4C9BA71D1740B4C,$40A123F4745C690B,$9B53B952A5B870F1,$F4C0BD0A32BBE612,$9F2CEB74CB5E7A0F,$A8EFC8779A0B6BCB,$6A677F9CEEDCA87E
  Data.q $C7E75FA46FBF3614,$5A9F167A8B75C48E,$4FFBA4214E1528ED,$BC4F1C5FB1FA908F,$9BAEFDDD8D939B96,$F48903461C1C32B0,$B08AB7C3024EEADB,$36997EE49CAD9E6C,$61B992FDB4FBF2A7
  Data.q $16DC68A91521F2A2,$99ACE7DF0733A713,$CB687B49AACEA5E6,$B1EEF73475609B89,$5A61F66BE2807E02,$4BF8E9BB059CD5ED,$D355033FEC3CB772,$C5A0A09B98716F27,$0AAD8423B771D890
  Data.q $AF201F621E460D1C,$6F79BAF4C18CE505,$0A99B423EF1828DE,$CD450AFE76712391,$6CCA4481827157B0,$D04F8A1F0AF0297E,$E682AAB2CD5C7278,$6C6E4CAF7BF9B385,$A7FB78278011BB13
  Data.q $854A593B632577DC,$25D24C6F7C6A3A6D,$A44E4B02470EA985,$525391CC888AA690,$A0A585049B16960F,$DBC9666D36DF16E0,$A37D45859D439A3B,$9736B1CF23787A65,$71CE6EA3654FC9F1
  Data.q $6518E1072A633E48,$1A49CE43ACD0A0D3,$E3F3D43EC91B185F,$F8075BF157DAB01C,$5D524A0514161A06,$9CEEDB2675C0FCCF,$50E93C6A3AD1A99D,$4695848BD76ECA92,$5B424A4801C99561
  Data.q $9CC2955250085059,$1A1A3FDEDC51F8B8,$3C6C375D72D48201,$CADBE6708FCCF830,$0EEE4929D5B10107,$77D6A206EE577BBC,$E25A28E795F85AC7,$4BAA086853D15607,$FB2099E140E84288
  Data.q $C631682B1D2BBF30,$252CA80B0BB6D8B5,$553434906778902F,$774337A9C414B4DC,$8AFB8D6A5F5BBA25,$71A99513DAA4ABF5,$E7DB479E4F5471DF,$9084C5852E97568E,$E6D06450AB0B3E3B
  Data.q $F0A6EEB1B1E53651,$B9C3ECAF131CFBEA,$D0D5CE54E8F9CE5B,$39871C5228EAB659,$7148595B5C74150C,$2681434125A8E4AC,$93FBF2199EA7A286,$FCEA84F5A635412D,$B679796B8F259695
  Data.q $0EFBBE1347E887B7,$B1238BD17E90F153,$DD1B73ADC3D13025,$E565D7A5FBDB4494,$B0F60AF18AA88316,$795ACC4738FA2910,$915CB4A997F6291C,$F01EC283BABCF0F8,$502CBB792A603F98
  Data.q $5C527BA4820532EA,$10B91707C1FA4951,$5D23AD7995D51E22,$A7B7C91DE56D8A98,$B85F2C8B17A38FEE,$7B1242601502AB10,$12A6CD6F479FEDA0,$3DB5CCCAE594D0EF,$4229ADDBD4D29A6B
  Data.q $35A80014E649018A,$90D50562A0D28006,$9DA9435E5368109B,$0FADB53D30478E96,$A894C290EC1CB814,$6A4BC9A62591C2AD,$714AF7E195D6D571,$3F3EC5C549FB3456,$9DA28523D09AE9CD
  Data.q $333888EC9965E5BD,$D23F38EFE715511B,$F3112A7131E46FC7,$5350DFB600FFF86A,$4DEF6F33CBF6CBBE,$5389E3204C41B7CA,$8D32CBCBCB1C24EE,$2FD33E712A4DA549,$610D6A29B511DF8E
  Data.q $60C01B28590E9C77,$FAB9338DD8D1CD8B,$1B3E65E6B6AF5B68,$C70307E20A8853A0,$1CC539CEE6B6E3C8,$E64FE5DD519B0C14,$ECA3DE96DC70D885,$CB330253D774AB51,$575AEE3A64485488
  Data.q $D664FCB443C555F9,$F9D876BD799168A5,$0F7A6EA5D3276D4C,$11DB2D6DDDDB45B4,$3DE27DC2E2802419,$E55B27CEFA5135AA,$EB9CAB944A6BC250,$782B77216F31C7FC,$6C377BB6FD913B0C
  Data.q $81643D45E7B4ECD1,$17E7924401594C53,$AEB46293B7AA9D1A,$21B3B67685DED9E9,$C81157404B259AC2,$9CE36CAE11071EF1,$2AEF8EBAE45EC151,$4695E286C32E347F,$ECF29C68E15AECB8
  Data.q $0A99F4A8544C4ACF,$F6954AD4D923210E,$57CBA55F3F5D86E2,$912A1A0F3480F3B0,$EECFAEB668D5F4C3,$5FA35C169D2AB13E,$9F94A03F0851B579,$829DFA08C8621FB7,$2004531DDBE67FE1
  Data.q $DB3B7B1C813EEF38,$8E49A8E4885CC33F,$E7404A48C8C814C3,$06325A5B5F4C01C0,$CDBAA0D61965A1D1,$D5911B3D7127F1A5,$A59F8E86BB56D072,$75C75574963E659C,$76DC3E929214E634
  Data.q $95877AA78595104F,$4A6B37B3E1C6BADF,$A2F56D2F31F60E4D,$E4D12C5D65DCB75F,$126C155B375CDBA9,$061E94BF0FB88572,$9C43E91CCA6D1483,$B16248CC97520B70,$B213533887341074
  Data.q $2DF6036BD97213BC,$021B5228E8330E33,$C8A2A00018868787,$5C2DF58E8B7B7924,$A42D895D716ED16D,$082A545229C9D3BA,$8D1A96C7F8AA0838,$D59CFED8017767A9,$E7DB959125B56777
  Data.q $E4B18290E2FA6A3A,$14B7AF48FA4941A0,$D3A26935253339D7,$950C636CAE323F32,$BFED9ED54ED8F4BC,$AAF459C6FCED2562,$4D92A4AAD0E48865,$9D75E29A24F32449,$D4A4A612CA9B6D9B
  Data.q $70C061B2F8536773,$20CF86B204A4714C,$BBBA04834B4C1C9A,$56A366EE46C7EC9B,$346821F5B11B62BD,$5211B2BE29CEA8FC,$D2D0D494A478E280,$7896755331A515BE,$C9F5C842ABD2D0A4
  Data.q $0145CBC3487C6BB0,$CEB1ECC721C4BEC6,$996968C7B5559BA2,$430C281A974F386E,$9B37C714F7669F6E,$EBBDB2A389E827F7,$44AD0AA010C88E36,$32D8B1F5DF9D118F,$11DF6CDE0995B818
  Data.q $C9E6DB8F11D437F4,$853862476CED365C,$269ECA69C3BA9F09,$DAD6E2A4269987A7,$7BD639488D3690D5,$DAE0514CE24B9B71,$4AE2D004AF52DA68,$3D68A55D710741A5,$775B5965AB37BBD4
  Data.q $8D53A899366C4750,$496D59082A4948AD,$561C4755A04990CE,$A35CA7D498AC65DC,$4D033486D1655D5B,$B4D7D983CD59EE84,$5BA25A9601530819,$260600784A004542,$AC25762B6F620BC3
  Data.q $AB29CD98309732CF,$AA1DCB03A080318A,$815508AC42E07EBD,$5FA6D4539ECECD0B,$CE79E02BC342E01A,$0A812BADF17A8E6E,$D5A7D1BBA70A3FE9,$F4D55F43BFD90B81,$F614CE2B04A6ECAB
  Data.q $00FFEAF091B04260,$4C85C054F9AB74C4,$04A6CD2F1DF63B7C,$A7342A0486A7802C,$4311FED3B010581E,$1658084C9D5F7AEB,$3D43E79E3A7400FF,$64D113D51602277F,$85C0B40C5F26971E
  Data.q $F5EFFEB9570B817B,$2BADF05A7DCBEB93,$E953F4D207370B81,$57082C4FBBA7D229,$D4877C7AE4AD10B8,$5FA415029BE3C965,$2DC79BA7973E6686,$F4C85B21F0642130,$0436C797CBA84FF9
  Data.q $66E8DD9B057E522C,$87D3858F5D21B0FA,$2FBD962B04569F46,$089C2B046E7E72EC,$FCB4DCFAA9746E5E,$65D97F7A0D5F08AC,$02AB10F85E08DCFC
  Data.b $15,$60,$42,$FF,$D9
  titre_e:
EndDataSection


Image
Image
Site: http://michel.dobro.free.fr/
Devise :"dis moi ce dont tu as besoin, je t'expliquerai comment t'en passer"
Avatar de l’utilisateur
Ar-S
Messages : 9472
Inscription : dim. 09/oct./2005 16:51
Contact :

Re: image to Icone (et pixeliseur)

Message par Ar-S »

Merci c'est cool :)
J'ai encore pas mal de trucs à corriger ajouter mais ça le fait bien.
~~~~Règles du forum ~~~~
⋅.˳˳.⋅ॱ˙˙ॱ⋅.˳Ar-S ˳.⋅ॱ˙˙ॱ⋅.˳˳.⋅
W11x64 PB 6.x
Section HORS SUJET : ICI
LDV MULTIMEDIA : Dépannage informatique & mes Logiciels PB
UPLOAD D'IMAGES : Uploader des images de vos logiciels
Avatar de l’utilisateur
Kwai chang caine
Messages : 6962
Inscription : sam. 23/sept./2006 18:32
Localisation : Isere

Re: image to Icone (et pixeliseur)

Message par Kwai chang caine »

Kcc a écrit :Je testerais ton code dès que possible...
Excuse moi ZORRO, mais un truc de dingue en ce moment....
Pas moyen d'être devant un PC depuis tout ce temps, ou au pire 10 mn :?

Alors j'ai testé ton code, et comparé à PhotoFiltre, l'icone parait un peu plus terne

Pour cette BMP
Image

Ta version
Image
Version PhotoFiltre
Image
Autrement ça a l'air pas mal non plus, comparativement

Mais comme tu le vois, on est loin de la qualité des icones pros, ou l'on voit tous les détails, enfin c'est ce qu'il me semble :|
Dernière modification par Kwai chang caine le mar. 18/oct./2016 9:34, modifié 3 fois.
ImageLe bonheur est une route...
Pas une destination

PureBasic Forum Officiel - Site PureBasic
Avatar de l’utilisateur
Kwai chang caine
Messages : 6962
Inscription : sam. 23/sept./2006 18:32
Localisation : Isere

Re: image to Icone (et pixeliseur)

Message par Kwai chang caine »

Je viens d'essayer ton "PIXELISATOR"....mais j'ai pas l'impression qu'il gere la transparence....si ??
ImageLe bonheur est une route...
Pas une destination

PureBasic Forum Officiel - Site PureBasic
Avatar de l’utilisateur
Ar-S
Messages : 9472
Inscription : dim. 09/oct./2005 16:51
Contact :

Re: image to Icone (et pixeliseur)

Message par Ar-S »

Je trouve que la mienne est plus propre..
Image
Plus foncée que celle de zorro mais plus net que la photofiltré...
Le secret 8) pour les réductions de si petite taille, c'est de la convertir en 8bit voir même en 4bit. ça a l'avantage de virer l'effet baveux de la réduction.
Mon prog avance bien, me reste la phase gestion de la transparence lorsque l'utilisateur souhaite remplacer la transparence par une couleur de fond.. (la transparence tout court ça marche déjà)

La différence se voit en comparant 32bits et 8 bits :
Image
~~~~Règles du forum ~~~~
⋅.˳˳.⋅ॱ˙˙ॱ⋅.˳Ar-S ˳.⋅ॱ˙˙ॱ⋅.˳˳.⋅
W11x64 PB 6.x
Section HORS SUJET : ICI
LDV MULTIMEDIA : Dépannage informatique & mes Logiciels PB
UPLOAD D'IMAGES : Uploader des images de vos logiciels
Avatar de l’utilisateur
Kwai chang caine
Messages : 6962
Inscription : sam. 23/sept./2006 18:32
Localisation : Isere

Re: image to Icone (et pixeliseur)

Message par Kwai chang caine »

Moi je pensais betement, que plus on reduit les bits, plus la qualité est mauvaise 8O
ImageLe bonheur est une route...
Pas une destination

PureBasic Forum Officiel - Site PureBasic
Avatar de l’utilisateur
Ar-S
Messages : 9472
Inscription : dim. 09/oct./2005 16:51
Contact :

Re: image to Icone (et pixeliseur)

Message par Ar-S »

Dans certains cas peut être, mais pour des images si petites, l'important est d'accentuer les détails, ce que les algos font lorsque que le nombre de couleurs diminue. Le joli tube en dégradé de gris en 15478 nuances sera transformé en une tige en 16, 8, 4 couleurs qui sera plus visible qu'un amas de n pixels sur la petite image. Le plus judicieux est de toute façon de faire des tests avant de produire une version finale.
Dans le cas de ton VLAU, on pourrait aussi accentuer le contraste et baisser la luminosité, ce qui produirait une image encore plus net.
Je doute que les icones pros soient seulement de grandes images simplement réduites à l'arrache.
~~~~Règles du forum ~~~~
⋅.˳˳.⋅ॱ˙˙ॱ⋅.˳Ar-S ˳.⋅ॱ˙˙ॱ⋅.˳˳.⋅
W11x64 PB 6.x
Section HORS SUJET : ICI
LDV MULTIMEDIA : Dépannage informatique & mes Logiciels PB
UPLOAD D'IMAGES : Uploader des images de vos logiciels
Avatar de l’utilisateur
Zorro
Messages : 2185
Inscription : mar. 31/mai/2016 9:06

Re: image to Icone (et pixeliseur)

Message par Zorro »

Kwai chang caine a écrit : Ta version
Image

Version PhotoFiltre
Image
Autrement ça a l'air pas mal non plus, comparativement

Mais comme tu le vois, on est loin de la qualité des icones pros, ou l'on voit tous les détails, enfin c'est ce qu'il me semble :|
je prefere quand meme la premiere icone
car du point de vue "anti aliasing" , le deuxiemme a des roues a points , pas tres rondes ... :)

comme l'a dit Ar-s , tout proviens de la preparation de ton image avant le traitement

si tu force les contraste, avant ou apres la reduction tu n'obtiendra plus les memes resultat
on peut aussi augmenter la force des couleurs, puisqu'en reduisant l'oeil perçoit moins les details
il faut donc compenser .
autre chose, on peut aussi convertir la photo en mode "Dessin" pour faire croire que c'est dessiné
a la main (Barbouille) , puis pixeliser, jouer sur les contraste, la couleur, et a la fin seulement convertir en icone :)

bref, en l'etat la procedure de reduction,convertion en icone, fonctionne plutot pas mal
a moindre frais je trouve le resultat plutot correcte :)

Ps: il me semble que le prg de Ar-s utilise "mon" code ;)
mais il ajoute des traitements ... ce qui améliore forcement
Image
Image
Site: http://michel.dobro.free.fr/
Devise :"dis moi ce dont tu as besoin, je t'expliquerai comment t'en passer"
Répondre