Re: LE CONVERTISSEUR IMAGE/DATA POUR ****TOUS**** (Version
Publié : mar. 26/août/2014 13:23
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.
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