Je ne comprends pas, j'ai créé une liste d'images et une liste parallele du nom renommé de ces même images.
Au debug les 2 noms apparaissent bien. Mais lorsque je veux sauver l'image c:\1.jpg en c:\min_1.jpg,
le debug me dit que l'#image (en l'occurance la 4) n'est pas initialisée.
Je n'arrive pas à voir pourquoi.
Voilà le code :
Code : Tout sélectionner
;- imaginons que images() contienne c:\1.jpg et c:\2.jpg
; SavImage() contient c:\min_1.jpg et c:\min_2.jpg
extSortie$=".jpg"
ResetList(images()) : ResetList(SavImage())
While NextElement(images())
NumNew=SelectElement(SavImage(), ListIndex(images()))
Debug "image a traiter : "+images()
If LoadImage(4, images())
Debug "Image chargée : "+images()
Limg=ImageWidth(4):Himg=ImageHeight(4)
ResizeImage(4,L,H,#PB_Image_Smooth)
;Nom du futur fichier image
extSortie$="."+LCase(FormatImage$)
NomNew$=Left(SavImage(),Len(SavImage())-4)+extSortie$
Debug "Nom de sortie : "+NomNew$
;Sauvegarde
If extSortie$=".jpeg" Or extSortie$=".jpg"
SaveImage(4,NomNew$,#PB_ImagePlugin_JPEG,taux)
Else
Debug "ça chie"
EndIf
Else
MessageRequester(" ","IMPOSSIBLE DE CHARGER L'IMAGE ")
EndIf
Wend
mais le problème est que lui fonctionne...
J'ai du zapper un truc dans le code original que je n'arrive pas à repérer.
Code fonctionnel :
Code : Tout sélectionner
UseJPEGImageEncoder()
UseJPEGImageDecoder()
NewList ImgSrc.s()
NewList ImgSAV.s()
Global rep$=GetCurrentDirectory()
;Création de 3 images
For i=1 To 3
CreateImage(1,100,100,32)
StartDrawing(ImageOutput(1))
DrawText(5,25,"IMAGE "+Str(i))
StopDrawing()
SaveImage(1,rep$+"image"+Str(i)+".jpg",#PB_ImagePlugin_JPEG,7)
Next i
; Chargement des images et création des 2 listes
For i=1 To 3
charge=LoadImage(2,rep$+"image"+Str(i)+".jpg")
If charge
AddElement(ImgSrc())
ImgSrc()=rep$+"image"+Str(i)+".jpg"
AddElement(ImgSAV())
ImgSAV()=rep$+"min_image"+Str(i)+".jpg"
EndIf
Next i
; Repositionnement des listes avant le 1er element
ResetList(ImgSrc()) : ResetList(ImgSAV())
; traitement, chargement et sauvegarde des nouveaux fichiers
While NextElement(ImgSrc())
NumNew=SelectElement(ImgSAV(), ListIndex(ImgSrc()))
Debug "image a traiter : "+ImgSrc()
If LoadImage(3, ImgSrc())
Debug "Image de sortie : "+ImgSAV()
Limg=ImageWidth(3):Himg=ImageHeight(3)
ResizeImage(3,300,300,#PB_Image_Smooth)
;Sauvegarde
SaveImage(3,ImgSAV(),#PB_ImagePlugin_JPEG,taux)
Else
MessageRequester(" ","IMPOSSIBLE DE CHARGER L'IMAGE")
EndIf
Wend
MessageRequester(" ","Les images ont été créées (allez vérifier)"+Chr(10)+"Cliquez sur OK pour quitter et effacer les images de ce test")
; On vire les images
ResetList(ImgSrc()) : ResetList(ImgSAV())
While NextElement(ImgSrc())
NumNew=SelectElement(ImgSAV(), ListIndex(ImgSrc()))
DeleteFile(ImgSAV()) : DeleteFile(ImgSrc())
Wend
End