Redimensionner des images

Vous débutez et vous avez besoin d'aide ? N'hésitez pas à poser vos questions
Parole De JOJO
Messages : 446
Inscription : mar. 25/mai/2010 17:24
Localisation : Bnei Brak, Israel

Redimensionner des images

Message par Parole De JOJO »

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)

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
Dernière modification par Parole De JOJO le mer. 23/févr./2011 19:23, modifié 1 fois.
Avatar de l’utilisateur
Ar-S
Messages : 9540
Inscription : dim. 09/oct./2005 16:51
Contact :

Re: Redimensionner des images

Message par Ar-S »

Mon logiciel resiZe 2 ne gère pas les sous dossiers mais le glisser/deposer/redimensionner par lot marche bien.
http://ldvmultimedia.com/telecharger_resize.php
si tu veux y jeter un oeil.
Tu te mets en "redimensionnement libre" et tu indiques la H et la L
puis tu fais un glisser/deposé de tes images. Il ne crées pas de sous dossiers mais tes photos redimensionnées prennent le préfixe new_
(photo1.jpg génère la miniature min_photo1.jpg ou new_photo1.jpg je ne me souviens pas).
~~~~Règles du forum ~~~~
⋅.˳˳.⋅ॱ˙˙ॱ⋅.˳Ar-S ˳.⋅ॱ˙˙ॱ⋅.˳˳.⋅
W11x64 PB 6.x
Section HORS SUJET : ICI
LDV MULTIMEDIA : Dépannage informatique & mes Logiciels PB
UPLOAD D'IMAGES : Uploader des images de vos logiciels
Parole De JOJO
Messages : 446
Inscription : mar. 25/mai/2010 17:24
Localisation : Bnei Brak, Israel

Re: Redimensionner des images

Message par Parole De JOJO »

tu m'as foutu les boules la
Avatar de l’utilisateur
Ar-S
Messages : 9540
Inscription : dim. 09/oct./2005 16:51
Contact :

Re: Redimensionner des images

Message par Ar-S »

Pourquoi ? 8O
~~~~Règles du forum ~~~~
⋅.˳˳.⋅ॱ˙˙ॱ⋅.˳Ar-S ˳.⋅ॱ˙˙ॱ⋅.˳˳.⋅
W11x64 PB 6.x
Section HORS SUJET : ICI
LDV MULTIMEDIA : Dépannage informatique & mes Logiciels PB
UPLOAD D'IMAGES : Uploader des images de vos logiciels
Avatar de l’utilisateur
falsam
Messages : 7324
Inscription : dim. 22/août/2010 15:24
Localisation : IDF (Yvelines)
Contact :

Re: Redimensionner des images

Message par falsam »

Apparemment tu veux faire du redimensionnement d'images par lots tout en gardant les mêmes dossiers. Tu devrais regarder le logiciel XnView (Gratuit) qui permet de faire se que tu cherches.

Apres avoir sélectionner les dossiers que tu souhaites transformer, XnView a une fonction (Ctrl+U pour y accéder) de conversion et de redimensionnement d'images en une seule fois tout en restant dans les dossiers initiaux avec option de garder ou pas les originaux.

Site de l'auteur : http://www.xnview.com/fr/xnview.html (En français)
Configuration : Windows 11 Famille 64-bit - PB 6.20 x64 - AMD Ryzen 7 - 16 GO RAM
Vidéo NVIDIA GeForce GTX 1650 Ti - Résolution 1920x1080 - Mise à l'échelle 125%
Parole De JOJO
Messages : 446
Inscription : mar. 25/mai/2010 17:24
Localisation : Bnei Brak, Israel

Re: Redimensionner des images

Message par Parole De JOJO »

Ben je viens de passer un bon moment a ecrire ce code et pour l'instant je m'en fous qu'il y en a des autres qui font ca
lol, je rigole mais je voulais partager ce code et peut etre recevoir des critiques, c'est tout
Warkering
Messages : 808
Inscription : ven. 08/janv./2010 1:14
Localisation : Québec, Canada

Re: Redimensionner des images

Message par Warkering »

Parole De JOJO a écrit :tu m'as foutu les boules la
Ça veut dire quoi, ça? :|
Parole De JOJO
Messages : 446
Inscription : mar. 25/mai/2010 17:24
Localisation : Bnei Brak, Israel

Re: Redimensionner des images

Message par Parole De JOJO »

ben j'ai explique non?
Répondre