En executant un programme avec la version PureBasic Linux 5.73 LTS sur Debian 11 (donc en période Freeze et pas encore déclaré stable)
- J'ai un point d'exclamation sur "EnableExplicite"[19 :53 :17] Attente du démarrage du programme...
[19 :53 :17] Type d'exécutable: Linux - x64 (64bit, Unicode)
[19 :53 :17] Exécutable démarré.
[19 :53 :18] [AVERTISSEMENT] pix2.pb (Ligne: 1)
[19 :53 :18] [AVERTISSEMENT] GLib-GIO (DEBUG): _g_io_module_get_default: Found default implementation gvfs (GDaemonVfs) for âgio-vfsâ
[19 :53 :18] [AVERTISSEMENT] pix2.pb (Ligne: 138)
[19 :53 :18] [AVERTISSEMENT] GLib-GIO (DEBUG): _g_io_module_get_default: Found default implementation dconf (DConfSettingsBackend) for âgsettings-backendâ
- Ce pogramme fonctionne parfaitement malgré ces erreurs et avec la version Windows aucune erreur,
que ça soit en natif Windows ou même sous Wine.
- Je ne trouve pas qelle libraire est manquante.
- Glib-GIO n'est pas présent dans les dépôts
- J'ai aussi un point d'exclamation sur "Repertoire.s = PathRequester("Source", "") "
Merci beaucoup a ceux qui pourrons me répondre.
Voici mon modeste code, avec surement pleins d'erreurs et d'horreur du coup.
NB : Ce code est une première version qui utilise un filigrane pour les photos verticales
et un autre pour les photos horizontales, c'était pour faire ce petit test, j'écriais quelques choses de plus élaboré
avec des ResizeImage, avec une interface et la possibilité de choisir son propre filigrane.
Passez une bonne soirée.
Code : Tout sélectionner
EnableExplicit
;-========================= Initialisations =========================
UseTIFFImageDecoder()
UseTGAImageDecoder()
UseGIFImageDecoder()
UseJPEG2000ImageDecoder()
UseJPEG2000ImageEncoder()
UseJPEGImageDecoder()
UseJPEGImageEncoder()
UsePNGImageDecoder()
UsePNGImageEncoder()
UseFLACSoundDecoder()
UseOGGSoundDecoder()
;-========================= Constantes =========================
Enumeration
#Image_0
#Image_1
#Image_2
#Sortie
#Image_Fond_Haureur
#Image_Fond_Largeur
#Image_Save
#Fenetre
#Font
#Text_Image_Source
#Text_Image_Fond_Haureur
#Text_Image_Fond_Largeur
EndEnumeration
#Repertoire = 0
;- ========================= Variables =========================
Global.i glEvent,glGadget,Largeur_Image,Hauteur_Image,mon_gadget,ma_fenetre,Image_A
Global.s Image_Source
Global.i Reference_SizeX,Reference_SizeY,xI,yI
Global.i Red_A,Green_A,Blue_A,Red,Green,Blue,Blue_A,Value,Sortie
Global.i XCapt,XCapt,XCapt2,YCapt2,Event,X,Y,XDelta,YDelta,Oui
Global.s Image_Source,CodeErreur
Global Repertoire.s
Global RepertoireSortie.s
Global.s BMP_Image_Source,JPG_Image_Source,PNG_Image_Source,TGA_Image_Source,TIFF_Image_Source
;Global Separateur.s = "\" ;Windows
Global Separateur.s = "/" ;Linux
;- ========================= Procedures =========================
Procedure JPG2(IMG.s)
If Right(IMG,3) = "jpg"
JPG_Image_Source = ReplaceString(Image_Source,".jpg", ".jpg", #PB_String_NoCase)
EndIf
If Right(IMG,3) = "jpg"
BMP_Image_Source = ReplaceString(IMG,".jpg", ".bmp", #PB_String_NoCase)
EndIf
If Right(IMG,3) = "jpg"
PNG_Image_Source = ReplaceString(IMG,".jpg", ".png", #PB_String_NoCase)
EndIf
If Right(IMG,3) = "jpg"
TGA_Image_Source = ReplaceString(IMG,".jpg", ".tga", #PB_String_NoCase)
EndIf
If Right(IMG,3) = "jpg"
TIFF_Image_Source = ReplaceString(IMG,".jpg", ".tiff", #PB_String_NoCase)
EndIf
EndProcedure
Procedure MetFil(Image_Source.s)
LoadImage(#Image_0,Repertoire+Image_Source)
LoadImage(#Image_1,"filigranes"+Separateur+"hauteur.png")
LoadImage(#Image_2,"filigranes"+Separateur+"largeur.png")
If ImageWidth(#Image_0) < ImageHeight(#Image_0)
ResizeImage(#Image_0,933,1400)
If CreateImage(#Sortie,933,1400,24,#PB_Image_Transparent) And StartDrawing(ImageOutput(#Sortie))
DrawingFont(FontID(#Font))
DrawingMode(#PB_2DDrawing_Transparent)
DrawAlphaImage(ImageID(#Image_0),0,0)
DrawAlphaImage(ImageID(#Image_1),0,0)
SaveImage(#Sortie,RepertoireSortie+"FCS_"+Image_Source,#PB_ImagePlugin_JPEG,10)
StopDrawing()
EndIf
EndIf
If ImageWidth(#Image_0) > ImageHeight(#Image_0)
ResizeImage(#Image_0,1400,933)
If CreateImage(#Sortie,1400,933,24,#PB_Image_Transparent) And StartDrawing(ImageOutput(#Sortie))
DrawingFont(FontID(#Font))
DrawingMode(#PB_2DDrawing_Transparent)
DrawAlphaImage(ImageID(#Image_0),0,0)
DrawAlphaImage(ImageID(#Image_2),0,0)
SaveImage(#Sortie,RepertoireSortie+"FCS_"+Image_Source,#PB_ImagePlugin_JPEG,10)
StopDrawing()
EndIf
EndIf
FreeImage(#Image_0)
FreeImage(#Image_1)
FreeImage(#Image_2)
EndProcedure
;=================================================================================================
OpenWindow(#Fenetre,0,0,1400,1400,"Notysoft Pix Linux - v2.00 - 2019", #PB_Window_Invisible)
CanvasGadget(#Fenetre,0,0,1400,1400)
LoadFont(#Font,"Lucina Calligraphy",12,#PB_Font_Bold)
Repertoire.s = PathRequester("Source", "")
;========================================================
If Len(Repertoire)>2
RepertoireSortie = PathRequester("Destination", "")
If Not Repertoire = RepertoireSortie And Len(RepertoireSortie)>2
If ExamineDirectory(#Repertoire, Repertoire, "*.jpg")
While NextDirectoryEntry(#Repertoire)
MetFil(DirectoryEntryName(#Repertoire))
Wend
FinishDirectory(#Repertoire)
EndIf
EndIf
EndIf
If Len(Repertoire)>2 And Len(RepertoireSortie)>2 And Not Repertoire = RepertoireSortie
MessageRequester("Notysoft Pix - v1.00 - 2020","Ajout du filigrane avec succès !",64)
Else
MessageRequester("Notysoft Pix - v1.00 - 2020","ERREUR : Pas d'ajout du filigrane !",64)
EndIf