Répondre à la discussion

Comme je ne peux pas essayer n'ayant pas de M1, j'ai refais un autre script qui agit sans système Event !


Ce script te demande de choisir un dossier contenant les fichiers à traiter.

Il ajoute une bordure blanche que j'ai défini à 200 pixels, à toutes les images contenues dans ce dossier et ses sous dossiers pour les extensions "jpg", "jpeg", "png", "tiff", "gif", "bmp", "psd".

Il fait la différence entre vertical et horizontal.


Regarde si là ça fonctionne , on fera des ajustement si cela marche...


[CODE]

tell application "Finder"

    set chemin to choose folder with prompt "Sélectionnez le dossier contenant les fichiers à traiter"

    set nomdosfich to name of chemin as string

    my inspecter(chemin) -- appel routine inspecter

end tell


on inspecter(un_dossier)

    tell application "Finder"

       

        set nomdos to name of un_dossier -- recupere le nom du dossier

        set Fimage to {"jpg", "jpeg", "png", "tiff", "gif", "bmp", "psd"} -- liste des extensions a traiter dans Fimage avec fonction mdls

       

        -- traitement des fichiers :

        set les_fichiers to files of un_dossier --récupère tous les fichiers du dossier

        repeat with chaque_fichier in les_fichiers -- répète avec chaque fichier du dossier en cour

            -- traitement d'un fichier

            tell application "Finder"

                set nom to name of chaque_fichier --récupère le nom du fichier

                set AppleScript's text item delimiters to {"."} -- defini le separateur

                set lextension to get last text item of nom -- recupère l'extension

                set lefichier to chaque_fichier as string --récupère le chemin du fichier au format chaine de caractères

               

               

                if lextension is in Fimage then -- si fichier video de la liste Fimage

                   

                    set lataille to do shell script "mdls -name kMDItemFSSize " & quoted form of POSIX path of lefichier --récupère la taille au fromat mdls

                    set lahauteur to do shell script "mdls -name kMDItemPixelHeight " & quoted form of POSIX path of lefichier --récupère la hauteur pixel format mdls

                    set lalargeur to do shell script "mdls -name kMDItemPixelWidth " & quoted form of POSIX path of lefichier --récupère la largeur pixel format mdls

                    set AppleScript's text item delimiters to {" "} -- defini le separateur

                    set lataille to last text item of lataille

                    set lahauteur to last text item of lahauteur

                    set lalargeur to last text item of lalargeur

                    set lechemin to POSIX path of lefichier

                   

                    if lalargeur > lahauteur then

                        set lacommande to "sips -Z " & lalargeur & " -p " & (lahauteur + 200) & " " & (lalargeur + 200) & " --padColor FFFFFF -i " & quoted form of lechemin

                    else

                        set lacommande to "sips -Z " & lahauteur & " -p " & (lalargeur + 200) & " " & (lahauteur + 200) & " --padColor FFFFFF -i " & quoted form of lechemin

                    end if

                    do shell script lacommande

                   

                end if

               

            end tell

        end repeat -- fichier suivant

       

        -- traitement des dossiers :

        set les_dossiers to folders of un_dossier

        repeat with chaque_dossier in les_dossiers -- dossier suivant

            my inspecter(chaque_dossier) -- appel pour dossier suivant

        end repeat

    end tell

end inspecter -- fin routine inspecter



tell application "Finder"

    activate

    (display dialog ("waouou ... Ca y est c'est fait !") buttons {"Salut !"})

end tell[/CODE]