Redimensionner des images
Publié : mer. 23/févr./2011 17:37
Dans mon nouveau mp4, on peut visionner des images
les parametres de l'ecran sont 176*220
Evidement, c'est dommage d'y rentrer des images en tres bonne qualites (la plupart de mes images sont en 2592*1944) car de toutes les facons c'est un petit ecran, et on ne peut pas agrandir
alors j'ai cherche un logiciel qui rapeticit les images, et leur fait perdre leur qualite, mais tout ce que j''ai trouve c'est un truc qui prend les images, les convertis, et les place dans UN dossier
moi je voudrait recreer les memes dossiers et sous dossiers, dans mon MP4
disons j'ai sur l'ordi un dossier IMAGES 2011 et dedans des sous dossiers : VACANCES, SORTIE, MANEGE etc
bon, en fin de compte j'ai fait une procedure qui fait ca, comme d'hab je suis complexe de mes programmes et je me gene de les montrer, mais je prends le risque de me faire crier dessus et voici :
(bien sur il faut ajouter une fenetre qui gere ca, mais c'est deja kelkechose)
les parametres de l'ecran sont 176*220
Evidement, c'est dommage d'y rentrer des images en tres bonne qualites (la plupart de mes images sont en 2592*1944) car de toutes les facons c'est un petit ecran, et on ne peut pas agrandir
alors j'ai cherche un logiciel qui rapeticit les images, et leur fait perdre leur qualite, mais tout ce que j''ai trouve c'est un truc qui prend les images, les convertis, et les place dans UN dossier
moi je voudrait recreer les memes dossiers et sous dossiers, dans mon MP4
disons j'ai sur l'ordi un dossier IMAGES 2011 et dedans des sous dossiers : VACANCES, SORTIE, MANEGE etc
bon, en fin de compte j'ai fait une procedure qui fait ca, comme d'hab je suis complexe de mes programmes et je me gene de les montrer, mais je prends le risque de me faire crier dessus et voici :
(bien sur il faut ajouter une fenetre qui gere ca, mais c'est deja kelkechose)
Code : Tout sélectionner
; config
Global old.s="F:\JOJO\pictures\" ; L'emplacement du dossier a traiter
Global new.s="F:\new\" ; L'emplacement du nouveau dossier, ou vont aller les images, le dossier n'a pas besoin d'etre deja cree
Global width=220
Global height=176
Global quality=6
Global qt_pic
Global num_pic
CreateDirectory(new)
UseJPEGImageDecoder()
UseJPEGImageEncoder()
Declare ParseDirectory1(folder.s, id.l = 0)
Declare ParseDirectory2(folder.s, id.l = 0)
ParseDirectory1(old)
ParseDirectory2(old)
Procedure ParseDirectory1(folder.s, id.l = 0)
If Right(folder, 1) <> "\"
folder + "\"
EndIf
If ExamineDirectory(id, folder, "*.*")
While NextDirectoryEntry(id)
den.s=DirectoryEntryName(id)
If den <> "." And den <> ".."
If DirectoryEntryType(id) = #PB_DirectoryEntry_Directory
ParseDirectory1(folder + den, id + 1)
ElseIf DirectoryEntryType(id) = #PB_DirectoryEntry_File
If LCase(GetExtensionPart(den))="jpg"
qt_pic+1
EndIf
EndIf
EndIf
Wend
FinishDirectory(id)
EndIf
EndProcedure
Procedure ParseDirectory2(folder.s, id.l = 0)
If Right(folder, 1) <> "\"
folder + "\"
EndIf
If ExamineDirectory(id, folder, "*.*")
While NextDirectoryEntry(id)
den.s=DirectoryEntryName(id)
If den <> "." And den <> ".."
If DirectoryEntryType(id) = #PB_DirectoryEntry_Directory
CreateDirectory(new+Mid(folder+den,Len(old)+1))
ParseDirectory2(folder + den, id + 1)
ElseIf DirectoryEntryType(id) = #PB_DirectoryEntry_File
If LCase(GetExtensionPart(den))="jpg"
num_pic+1
new_pic.s=new+Mid(folder+den,Len(old)+1)
old_pic.s=folder+den
If LoadImage(0,old_pic)
ResizeImage(0,width,height)
If SaveImage(0,new_pic,#PB_ImagePlugin_JPEG,quality)
FreeImage(0)
Debug "Saved ("+Str(num_pic)+"/"+Str(qt_pic)+": "+old_pic
Else
Debug "Bug 1 : "+old_pic
EndIf
Else
Debug "Bug 2 : "+old_pic
EndIf
EndIf
EndIf
EndIf
Wend
FinishDirectory(id)
EndIf
EndProcedure