Page 4 sur 4

Re: LE CONVERTISSEUR IMAGE/DATA POUR ****TOUS**** (Version

Publié : mar. 26/août/2014 13:23
par falsam
Le code de fortix en conformité avec la version 5.30 de Pure Basic.

je l'ai laissé dans son jus tout en supprimant ou remplacer les fonctionnalités obsoletes.

J'ai aussi ajouté la visualisation du résultat et modifier la sauvegarde du résultat dans un fichier pbi au lieu d'un txt.

Le résultat est aussi dans le presse papier tant que l'application n'est pas fermé.

Il y a une API qui traine (un bip) sans cette api, le code est Cross-Platform.

Code : Tout sélectionner

;The Fortix    .::Convertor V1::.

Enumeration
  #Editor_0 
  #Button_0
  #Button_1
  #Button_2
EndEnumeration

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

Global FontID1

FontID1 = LoadFont(1, "Courier New", 9, #PB_Font_Bold)


Procedure Open_Editor_0()

  If OpenWindow(#Editor_0, 344, 172, 256, 250, "Fortix_Convertor_DATA",  #PB_Window_SystemMenu | #PB_Window_MinimizeGadget  | #PB_Window_TitleBar )
  
    EditorGadget(#Editor_0, 5, 40, 245, 150,#PB_Editor_ReadOnly)
    SetGadgetFont(#Editor_0, FontID1)
    SetGadgetColor(#Editor_0, #PB_Gadget_BackColor, RGB(0,0,0))
    SetGadgetColor(#Editor_0, #PB_Gadget_FrontColor, RGB(0,128,255))
    SetWindowColor(#Editor_0, RGB(0,0,128))
    GadgetToolTip(#Editor_0, "Une fois la liste DATA établit, copier son contenu puis introduisez le en SectionData dans le code en cour d'édition")     
         
    ButtonGadget(#Button_0, 5, 10, 245, 20, "OUVRIR IMAGE")
         
    ButtonGadget(#Button_1, 5, 195, 245, 20, "NOUVELLE IMAGE ?")
    GadgetToolTip(#Button_1, "Appuyer ici pour ouvrir une nouvelle image")
          
    ButtonGadget(#Button_2, 5, 220, 245, 20, "ENREGISTRER IMAGE DATA")
    GadgetToolTip(#Button_2, "Appuyer ici pour enregistrer votre image  DATA  en format texte (*.txt)")  
    
    ProcedureReturn 1  
  EndIf
  
EndProcedure

If Open_Editor_0()
  DisableGadget(#Button_0,0)
  DisableGadget(#Editor_0,1)
  DisableGadget(#Button_1,1)
  DisableGadget(#Button_2,1)
       
  Repeat
    EventID = WaitWindowEvent()
        
    If EventID = #PB_Event_Gadget
      Select EventGadget()  
        Case #Button_0
          Num_$=InputRequester("ID","Attribuez un ID de depart:","0")
                    
     
          If Num_$="" Or Num_$=" "
            Num_$="0"  
          EndIf
          
          Nm_File_$ = OpenFileRequester("Ouverture de l'image à convertir", Nm_File_$, "Fichiers Image|*.jpg;*.jpeg;*.tga;*.bmp;*.png;*.tif;*.gif", 0 )
             
          s$=GetFilePart(Nm_File_$)
                
          Label_$=StringField(s$,1," ")
                    
          If FindString(Label_$,".",1)
            Label_$=StringField(s$,1,".")  
          EndIf
                
          If Nm_File_$
            DisableGadget(#Button_0,1)
            DisableGadget(#Editor_0,0)
            
            If LoadImage(0, Nm_File_$) 
              H = ImageHeight(0) 
              L = ImageWidth(0) 
                            
              AddGadgetItem(#Editor_0, -1, "If CreateImage("+Num_$+", "+Str(L)+", "+Str(H)+")")
              AddGadgetItem(#Editor_0, -1, "")  
              AddGadgetItem(#Editor_0, -1, "    StartDrawing(ImageOutput("+Num_$+"))")
              AddGadgetItem(#Editor_0, -1, "")          
              AddGadgetItem(#Editor_0, -1, "        Restore Label_"+Label_$)
              AddGadgetItem(#Editor_0, -1, "")                                
              AddGadgetItem(#Editor_0, -1, "        For ay=0 To "+Str(H)+"-1")
              AddGadgetItem(#Editor_0, -1, "            For ax=0 To "+Str(L)+"-1")
              AddGadgetItem(#Editor_0, -1, "")            
              AddGadgetItem(#Editor_0, -1, "                Read a.l")
              AddGadgetItem(#Editor_0, -1, "                Plot(ax,ay,a.l)")
              AddGadgetItem(#Editor_0, -1, "")                            
              AddGadgetItem(#Editor_0, -1, "            Next ax")
              AddGadgetItem(#Editor_0, -1, "        Next ay")           
              AddGadgetItem(#Editor_0, -1, "    StopDrawing()")
              AddGadgetItem(#Editor_0, -1, "")    
              AddGadgetItem(#Editor_0, -1, "    ay=0")
              AddGadgetItem(#Editor_0, -1, "    ax=0")
              AddGadgetItem(#Editor_0, -1, "EndIf")                            
              AddGadgetItem(#Editor_0, -1, "")
              AddGadgetItem(#Editor_0, -1, "")
                            
              AddGadgetItem(#Editor_0, -1, "OpenWindow(0, 0, 0, ImageWidth(0), ImageHeight(0), "+Chr(34)+"Preview"+Chr(34)+")")
              AddGadgetItem(#Editor_0, -1, "ImageGadget(0, 0, 0, 0, 0, ImageID(0))") 
              AddGadgetItem(#Editor_0, -1, "Repeat : Until WaitWindowEvent(100) = #PB_Event_CloseWindow")
                            
              AddGadgetItem(#Editor_0, -1, "")
              AddGadgetItem(#Editor_0, -1, "")
                            
              AddGadgetItem(#Editor_0, -1, "DataSection")
              AddGadgetItem(#Editor_0, -1, "   Label_"+Label_$+":")   
                                                         
              StartDrawing(ImageOutput(0))
                     
              For y=0 To H-1
                ligne$="  data.l "
                                    
                For x=0 To L-1;+(2-1)
                  hx$=Hex(Point(x,y))
                  hx$="$"+RSet(hx$,6,"0")
                                    
                  ligne$=ligne$+hx$+","                                     
                Next x
                                    
                ligne$=Left(ligne$, Len(ligne$)-1)                        
                AddGadgetItem(#Editor_0, -1, ligne$)                                  
              Next y 
                                  
              StopDrawing()  
                                               
                      
              AddGadgetItem(#Editor_0, -1, "")                                         
              AddGadgetItem(#Editor_0, -1, "EndDataSection")
                          
              DisableGadget(#Button_1,0)
              DisableGadget(#Button_2,0)
                            
              SetClipboardText(GetGadgetText(#Editor_0))
              
              MessageBeep_(48)
              
            EndIf  
          EndIf 
                      
        Case #Button_1
          ClearGadgetItems(#Editor_0)
                    
          DisableGadget(#Button_0,0)
          DisableGadget(#Editor_0,1)
          DisableGadget(#Button_1,1)
          DisableGadget(#Button_2,1)
          
        Case #Button_2                   
          Datalist$ = GetGadgetText(#Editor_0)
          DestiFichier$ = SaveFileRequester("Enregistrement du fichier à convertir", Nm_File_$+"_VData.pbi", "*.pbi", 0 )
                    
          CreateFile(2,DestiFichier$+"_VData.pbi")
          WriteStringN(2,Datalist$)
          CloseFile(2) 
                    
          ClearGadgetItems(#Editor_0)
                    
          DisableGadget(#Button_0,0)
          DisableGadget(#Editor_0,1)
          DisableGadget(#Button_1,1)
          DisableGadget(#Button_2,1)
          
      EndSelect  
    EndIf  
  Until EventID = #PB_Event_CloseWindow
 
  CloseWindow(#Editor_0)
  End
EndIf

Re: LE CONVERTISSEUR IMAGE/DATA POUR ****TOUS**** (Version

Publié : mar. 26/août/2014 13:28
par Kwai chang caine
Put...tu chomes pas en ce moment 8O
T'as déjà pas souvent chomé, mais la...y'a les turbos, la nuit c'est fait pour dormir :mrgreen:
FRED va etre obligé de grossir son forfait hébergement avec tout le travail que tu te tapes :lol:

Merci beaucoup du partage 8)

Re: LE CONVERTISSEUR IMAGE/DATA POUR ****TOUS**** (Version

Publié : mar. 26/août/2014 15:03
par SPH
Kwai chang caine a écrit :Put...tu chomes pas en ce moment 8O
Il bosse comme Dobro a l'epoque. Il l'a completement remplacé... :P

Re: LE CONVERTISSEUR IMAGE/DATA POUR ****TOUS**** (Version

Publié : mar. 26/août/2014 15:08
par falsam
SPH a écrit :Il bosse comme Dobro a l'epoque. Il l'a completement remplacé... :P
ça c'est fait ........

Re: LE CONVERTISSEUR IMAGE/DATA POUR ****TOUS**** (Version

Publié : mar. 26/août/2014 15:22
par Kwai chang caine
Ce SPH...sur l'echelle de 0/10 des fouteurs de merde...je te donnerais ....huummmmmm !!! 15 :mrgreen:
Juste aprés B13 :lol:
Essaye déjà de le suivre avant de l'ouvrir :lol:

Re: LE CONVERTISSEUR IMAGE/DATA POUR ****TOUS**** (Version

Publié : mar. 26/août/2014 15:30
par Micoute
Mais que se passe-t-il donc sur ce forum ? On dirait qu'il y a des contentions ! Il faudrait que quelqu'un fasse entendre sa voix, sinon Je présage de mauvais jours à venir !

Re: LE CONVERTISSEUR IMAGE/DATA POUR ****TOUS**** (Version

Publié : mar. 26/août/2014 15:35
par SPH
Bin quoi ?! J'ai juste dis que falsam est aussi productif que Dobro a l'epoque... (je le dis sans arriere pensee) 8O

Re: LE CONVERTISSEUR IMAGE/DATA POUR ****TOUS**** (Version

Publié : mar. 26/août/2014 16:01
par Micoute
Bonjour SPH, moi, je te crois !

Re: LE CONVERTISSEUR IMAGE/DATA POUR ****TOUS**** (Version

Publié : mar. 26/août/2014 16:07
par SPH
Micoute a écrit :Bonjour SPH, moi, je te crois !
Thank you baby :lol:

Re: LE CONVERTISSEUR IMAGE/DATA POUR ****TOUS**** (Version

Publié : mar. 26/août/2014 16:10
par falsam
Micoute a écrit :Mais que se passe-t-il donc sur ce forum ? On dirait qu'il y a des contentions !
Tu confonds pas avec des des bas ..... de contention :mrgreen:

Ou alors tu as fais deux mots en un peut etre ...... Contentieux et tensions = Contentions

Re: LE CONVERTISSEUR IMAGE/DATA POUR ****TOUS**** (Version

Publié : mar. 26/août/2014 16:12
par falsam
La transparence des PNG n'est apparemment pas pris en compte avec ce code.

Le code de ts-soft (Bin2Data.pb) fonctionne bien mieux. Il permet aussi de coder les fichiers sons.
Lien : http://www.purebasic.fr/english/viewtop ... 27&t=49196

Re: LE CONVERTISSEUR IMAGE/DATA POUR ****TOUS**** (Version

Publié : mar. 26/août/2014 16:15
par Kwai chang caine
SPH a écrit :Bin quoi ?! J'ai juste dis que falsam est aussi productif que Dobro a l'epoque... (je le dis sans arriere pensee)
Drole ce SPH... même quand il fait des compliments :lol:

@MICOUTE
Contention !!! Cool un nouveau mot dans mon dictionnaire 8)
T'inquiettes, SPH et moi on est des vieux de la vieille, et il sait que je l'aime bien 8)
Mais on ne se dit les choses gentilles que par MP, ça regarde personne :mrgreen:
Comment ça...ça devrait etre l'inverse !!! :? :lol:

Re: LE CONVERTISSEUR IMAGE/DATA POUR ****TOUS**** (Version

Publié : mar. 26/août/2014 17:40
par Micoute
falsam a écrit :
Micoute a écrit :Mais que se passe-t-il donc sur ce forum ? On dirait qu'il y a des contentions !
Tu confonds pas avec des des bas ..... de contention :mrgreen:

Ou alors tu as fais deux mots en un peut etre ...... Contentieux et tensions = Contentions
Non, j'ai bien dit contention, dans le sens de contrainte, tension ! J'aurais pu écrire animosité, agressivité, amertume, antipathie, désobligeance, inimitié, malveillance, méchanceté, rancoeur, rancune, ressentiment, le français est assez nuancé pour expliquer ce qu'on veut dire !