Photo Bordure image sur Mac M1 ?

lepetitpiero

Membre expert
Club iGen
20 Août 2005
9 190
564
51
Je rectifie ce n'est pas la faute de capture one... C'est mes RAF qui n'ont pas cette info. J'ai ouvert le RAF dans aperçu, enregistrer en jpeg et j'ai le même souci. Donc il faut que je vois si je peux avoir cette info dans les exifs via mon boitier.
 

zeltron54

Membre expert
Club iGen
29 Mars 2008
2 921
480
Lorraine
Pour continuer le script:
Est-ce que la largeur de la bordure égale à 4% de la dimension la plus grande de l'image te convient ? où ?

La couleur de la bordure doit être ? pour la définir il me faut les infos des trois valeurs Rouge, vert, bleu valeur à définir entre 0 et 255 pour chaque couleur.

Ces 2 infos seront inscrites dans le script, donc pas facile à changer ...

Et tu veux que chaque fichier qui sera déposé dans un dossier bien précis soit traité ?

J'ai bon ?
Avec ces réponses, je m'y attèle dés que possible.
 

lepetitpiero

Membre expert
Club iGen
20 Août 2005
9 190
564
51
En fat j'aimerais plus un liseret donc 0,70% si c'est possible exemple pour une image de 1600 px bordure de 10 px

couleur noir donc #000000

oui fichier dans un dossier soit traité

Merci
 

zeltron54

Membre expert
Club iGen
29 Mars 2008
2 921
480
Lorraine
Pour la mise en place de tout cela.
1- faire un copier coller du script ci-dessous dans l'éditeur de script et enregistrer sous le nom "Bordure" par exemple.
2-déplacer ce fichier dans: ta petite maison--> bibliothèque --> Scripts --> Folder Action Scripts si un de ses dossiers n'existe pas le créer avec le nom exact.
3- Créer le dossier qui va recevoir les fichiers sous le nom "les bordures" par exemple à toi de choisir.
4- un clic droit sur ce dossier choisir services-->Configuration des actions de dossiers ...
Une fenêtre s'ouvre cliquer sur "Lancer le service"
Une nouvelle fenêtre s'ouvre , voir copie d'écran.

Capture d’écran 2022-08-22 à 20.55.05.png


Tout refermer, cela devrait être bon, tous les fichiers qui arriverons dans le dossier seront traités, tu peux en glissé déposé plusieurs en même temps...

J'attends ton retour


Bloc de code:
on adding folder items to Mon_Dossier after receiving Liste_Fichiers
   
    tell application "Finder"
       
        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 Mon_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 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 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 cadre to lalargeur * 0.007
                        set lacommande to "sips -Z " & lalargeur & " -p " & (lahauteur + cadre) & " " & (lalargeur + cadre) & " --padColor 000000 -i " & quoted form of lechemin
                    else
                        set cadre to lahauteur * 0.04
                        set lacommande to "sips -Z " & lahauteur & " -p " & (lalargeur + cadre) & " " & (lahauteur + cadre) & " --padColor 000000 -i " & quoted form of lechemin
                    end if
                    do shell script lacommande
                   
                end if
               
            end tell
        end repeat -- fichier suivant
    end tell
end adding folder items to

tell application "Finder"
    activate
    (display dialog ("waouou ... Ca y est c'est fait !") buttons {"Salut !"})
end tell
 

lepetitpiero

Membre expert
Club iGen
20 Août 2005
9 190
564
51
test fait... avec des jpeg issus du boitier j'ai aussi un souci sur les verticaux... bordure bien plus large que sur les horizontaux
Capture d’écran 2022-08-22 à 21.35.28.png
 

zeltron54

Membre expert
Club iGen
29 Mars 2008
2 921
480
Lorraine
Oup's j'ai corrigé le calcul sur les horizontaux et j'ai laissé sur le verticaux.

Dans le script tu trouves
Bloc de code:
if lalargeur > lahauteur then
                        set cadre to lalargeur * 0.007
                        set lacommande to "sips -Z " & lalargeur & " -p " & (lahauteur + cadre) & " " & (lalargeur + cadre) & " --padColor 000000 -i " & quoted form of lechemin
                    else
                        set cadre to lahauteur * 0.04
                        set lacommande to "sips -Z " & lahauteur & " -p " & (lalargeur + cadre) & " " & (lahauteur + cadre) & " --padColor 000000 -i " & quoted form of lechemin
                    end if

il faut modifier la ligne :
set cadre to hauteur *0.04
par :
set cadre to hauteur * 0.007

Edit nos post ce sont croisés

Sinon c'est bon ?
 

lepetitpiero

Membre expert
Club iGen
20 Août 2005
9 190
564
51
Oui j'ai corrigé ( merci)

Du coup tu peux me dire dans les fichiers ou je trouve l'info Hauteur , largeur... que je perds dès que je passe dans capture one... je pourras peut-être la remettre c'est bizarre quand même...
 

zeltron54

Membre expert
Club iGen
29 Mars 2008
2 921
480
Lorraine
Tu perds pas les dimensions mais l'info de l' orientation de la photo,
Cet infos sert à afficher les photos dans le bon sens.

Pour la trouvée j'ai utilisé l'application "exiftool" qui permet de voir tous les exif des photos.
 

lepetitpiero

Membre expert
Club iGen
20 Août 2005
9 190
564
51
j'ai test avec un RAF depuis aperçu et ça me fait les même coquilles donc c'est dans le RAF que l'info n'existe pas... u alors elle est ailleurs car capture one et aperçûtes m'ouvre bien l'image dans le bon sens ...
 

zeltron54

Membre expert
Club iGen
29 Mars 2008
2 921
480
Lorraine
J'ai eu beau chercher, je n'ai pas trouvé de solution pour le moment ...
Si trop pénalisant pour toi, alors il ne te restera plus que la solution d'un logiciel.style photoshop ou autre .
 

lepetitpiero

Membre expert
Club iGen
20 Août 2005
9 190
564
51
En fait je peux le faire via une macro et l'automatiser dans afinity photo... dommage que celui-ci ne fasse pas les droplets comme photoshop.
 

zeltron54

Membre expert
Club iGen
29 Mars 2008
2 921
480
Lorraine
Je continu de chercher, mais sans grand espoir, désolé !

Bon courge.
 

zeltron54

Membre expert
Club iGen
29 Mars 2008
2 921
480
Lorraine
Après une demi journée de recherche et de test, pas trouvé d'où viens le problème,
Même en supprimant toutes les données exif et les métadonnées de la photo, le problème est toujours là ! :banghead:
 

zeltron54

Membre expert
Club iGen
29 Mars 2008
2 921
480
Lorraine
Je pense avoir trouvé la solution !
Tu peux tester ce nouveau script et me dire si cela fonctionne !

Bloc de code:
on adding folder items to Mon_Dossier after receiving Liste_Fichiers
   
    tell application "Finder"
       
        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 Mon_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 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 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 cadre to lalargeur * 0.007
                        set lacommande to "sips -Z " & lalargeur & " -p " & (lahauteur + cadre) & " " & (lalargeur + cadre) & " --padColor 000000 -i " & quoted form of lechemin
                    else
                        set cadre to lahauteur * 0.007
                        set lacommande to "sips -Z " & lahauteur & " -p " & (lahauteur + cadre) & " " & (lalargeur + cadre) & " --padColor 000000 -i " & quoted form of lechemin
                    end if
                    do shell script lacommande
                   
                end if
               
            end tell
        end repeat -- fichier suivant
    end tell
end adding folder items to
 

zeltron54

Membre expert
Club iGen
29 Mars 2008
2 921
480
Lorraine
Dans le script j’ ai changé l’ordre de traitement des images verticales, la hauteur, puis la largeur et là il a l’ air de mieux gérer …

le mode d.emploi de la commande « sips » n’ est pas très clair, et l´ anglais n’est pas mon fort.