Trier des photos Portraits et Paysages ?, Possible avec Apple Script ?? |
Bienvenue invité ( Connexion | Inscription )
Trier des photos Portraits et Paysages ?, Possible avec Apple Script ?? |
7 Jul 2011, 16:55
Message
#1
|
|
Adepte de Macbidouille Groupe : Membres Messages : 109 Inscrit : 11 Jan 2010 Membre no 148 488 |
Bonjour,
J'ai un dossier avec plus de 5000 photos à trier, je dois extraire les photos au format portrait dans un répertoire "portrait" et les photos "paysage" dans un répertoire "paysage", bref est-ce possible ?, il faudrait par exemple que le script puisse calculer si la hauteur et inférieur à la largeur de l'image = Paysage et si la hauteur et supérieur à la largeur = portrait.. Ah moin qu'il soit possible de faire cela sous Photoshop, mais rien n'y fait avec l'option adapter l'image.... Merci pour votre aide. |
|
|
22 Aug 2020, 08:05
Message
#2
|
|
Macbidouilleur de bronze ! Groupe : Membres Messages : 264 Inscrit : 7 Dec 2013 Lieu : Ile de France Membre no 188 169 |
Bonjour,
Effectivement, depuis 9 ans des chemins d'accès et des autorisations ont été changés. Pour être franc, le script d'EricaL sur la partie shell dépasse un peu mes compétences en shell mais avec mes connaissances limitées en shell et en reprenant son action de dossier, j'ai repris une fonction que j'ai écrite il y a longtemps (qui fonctionne toujours) et permet de connaître l'orientation d'une image. Ma fonction peut renvoyer 0, 1, ou 2. Le 0 correspond simplement au fait que le fichier à traité n'est pas une image..donc n'est pas à transférer. Pour l'action de dossier, j'ai simplement repris la partie d'EricaL: merci à lui. CODE property dossier_portrait : quoted form of "déposerLeDossierIci" property dossier_paysage : quoted form of "déposerLeDossierIci" on adding folder items to this_folder after receiving added_items repeat with aItem in added_items set UnixItem to quoted form of (POSIX path of aItem) set Ftype to ImagePortrait(UnixItem) if Ftype > 0 then if Ftype = 1 then set Dest to dossier_portrait else set Dest to dossier_paysage end if try do shell script "mv " & UnixItem & " " & Dest end try end if end repeat end adding folder items to on ImagePortrait(localUpath) -- renvoie 0 ce n'est pas une image, 1 si mode portrait et 2 si mode paysage -- test si le type de fichier contient image if not ((do shell script "file -b " & localUpath) contains "image") then return 0 -- lit les dimensions de l'image set Dim to do shell script "sips -g pixelWidth -g pixelHeight " & localUpath & " | awk ' /pixel/ { print $2 }'" try if ((paragraph 1 of Dim) as integer) > ((paragraph 2 of Dim) as integer) then return 2 -- largeur > hauteur donc paysage else return 1 -- largeur <= hauteur donc portrait end if on error return 0 end try end ImagePortrait Tu commences par mettre tes dossiers portrait et paysage dans les 2 variables déclarées en lignes 1 et 2: il suffit de faire un glissé/déposé. Tu enregistres ce script dans ton dossier des actions de dossier : bibliothèque/scripts/Folder Actions Scripts Tu paramètres le dossier dans lequel tu vas ajouter les images comme étant lié à cette action de dossier. Une fois cela fait, à chaque fois que tu déposeras un ou plusieurs fichiers dans ce dossier, ils seront déplacés dans le dossier adéquat,...sauf si ce ne sont pas des images ! Cordialement -------------------- iiMac 24 M1 16Go/1To 13.5.1
iMac 27 i5 3,1GHz 8Go/1To 10.11.6 / 10.6.8 iMac 20 C.Duo 2,6Ghz 8Go/350Go 10.6.8 / 10.11 Mini C.Duo 2,0Ghz 2Go/500Go 10.6.8 |
|
|
Nous sommes le : 19th April 2024 - 02:07 |