Sujet: Scripts sous Photoshop

Modérateur: Modérateurs

Poster une réponse

J + 3

par Dormeur74 » Lundi 17 Août 2015 9:09

Aller, un dernier petit effort. On continuera ensuite s'il y a de la demande.
Cahier des charges :
- mettre un liseré blanc de 2 pixels tout autour d'une photo quelles que soient ses dimensions,
- mettre un passe-partout gris foncé tout autour. Sa largeur sera égale à 10% de la largeur de la photo. Ex : si la photo fait 500 x 1000 pixels, le passe-partout fera 550 x 1100 pixels.
- traiter de cette façon toutes les photos du dossier ../_tuto en les sauvegardant dans le sous-dossier ../_Tuto/Sauvegarde/ au format Jpeg, dans la meilleure qualité possible en conservant son profil colorimétrique.

Copier le code ci-dessous et le coller dans ExtendScript Toolkit.

Code: Tout sélectionner
#target photoshop
app.bringToFront();
 
var reglesUtilisateur = app.preferences.rulerUnits;
app.preferences.rulerUnits = Units.PIXELS; // 5

// Déclaration des variables
var docRef; // 8
var docName;
var largeurPhoto; // 10
var hauteurPhoto;
var largeurLisere;
var hauteurLisere;
var largeurCadre;
var hauteurCadre; // 15
var couleurLisere = new SolidColor;
couleurLisere.rgb.hexValue = "FFFFFF";
var couleurCadre = new SolidColor;   
couleurCadre.rgb.hexValue = "454545";
var dossier = Folder.selectDialog("Sélectionnez le dossier _Tuto : "); // 20
var sousDossier = Folder(dossier + "/sauvegarde");
if (!sousDossier.exists) sousDossier.create();
var liste = dossier.getFiles(/\.(jpg|jpeg|tif|psd|png|)$/i);
       
for (var i= 0;i<liste.length;i++) // 25 
{
    docRef = open(liste[i]);
    docName  = docRef.name;
    docName  = docName.substring( 0, docName.indexOf('.') );   
    largeurPhoto = docRef.width; // 30
    hauteurPhoto = docRef.height; 
    largeurLisere = largeurPhoto + 4;
    hauteurLisere = hauteurPhoto + 4;
    app.backgroundColor = couleurLisere;
    docRef.resizeCanvas(largeurLisere, hauteurLisere); // 35
    largeurCadre = largeurPhoto * 1.1;
    hauteurCadre = hauteurPhoto * 1.1;
    app.backgroundColor = couleurCadre;
    docRef.resizeCanvas(largeurCadre, hauteurCadre);
    jpegOptions = new JPEGSaveOptions(); // 40
    jpegOptions.embedColorProfile = true;
    jpegOptions.formatOptions = FormatOptions.STANDARDBASELINE; 
    jpegOptions.matte = MatteType.NONE;
    jpegOptions.quality = 12; // Preserve la meilleure qualité possible
    app.activeDocument.saveAs(File(sousDossier+"/"+docName+".jpg"), jpegOptions, true,Extension.LOWERCASE); // 45
    app.activeDocument.close(SaveOptions.DONOTSAVECHANGES);
}

app.preferences.rulerUnits = reglesUtilisateur;


Les lignes de codes sont numérotées de 5 en 5. Quelques explications :
- lignes 8 à 15 : déclaration des variables dont on va avoir besoin, sans affectation de valeurs
- lignes 16 à 19 : on fixe la valeur hexadécimale de la couleur du liseré (blanc) et du passe-partout (gris foncé)
- ligne 21-22 : on crée un sous-dossier pour sauvegarder les photos traitées. Notez la façon de traiter une condition. if (!sousDossier.exists) et le point d'exclamation. La condition est entre parenthèses et le point d'exclamation a une valeur négative. Ici, il faut lire : si le sous-dossier n'existe pas.
- ligne 29 : on ne garde que le nom du fichier. Peu importe l'extension puisqu'on va tout sauvegarder en Jpeg
- lignes 34 et 35, on met un liseré de 2 pixels autour de la photo. Comme il faut qu'il ait une largeur de 2 pixels, tout se passe comme si on mettait un calque blanc en arrière-plan supérieur de 4 pixels aux dimensions de la photo.
lignes 36-37 : on fait la même chose pour le passe partout. Ce coef 1.1 correspond à 110% par rapport aux dimensions de la photo.
- lignes 40 à 44 : on fixe les options de sauvegarde du format Jpeg. Chaque format (Tif, Psd, Jpeg, Png, etc.) possède ses propres options. A la ligne 41, par exemple, on encapsule dans la photo son profil colorimétrique initial. A la ligne 44, on choisit la meilleure qualité possible pour ne perdre aucune information.
- ligne 46, on referme les documents originaux, sans les modifier.


-

Photos: 134
Dormeur74

Membre VIP
Membre VIP

Messages: 1034

Inscription: 21 Oct 2008

Localisation: Haute-Savoie

Re: Scripts sous Photoshop

par autka » Lundi 17 Août 2015 11:13

Désolé, mais je ne vois pas du tout à quoi ça peut servir :roll: à part se tripoter le cortex.
Il me semblait que l'usine à gaz Photoshop se suffisait à lui même dans le contexte de la retouche photo.
Il existe les "actions", les scripts et ça me semble amplement suffisant dans 99% des cas.
Il faut du temps pour maîtriser toutes les finesses des réglages de masque, de mode de fusion et autres calques

Et si c'est pour afficher hello world, ou bien faire un cadre autour d'une photo ou encore changer les unités d'un texte, la postproduction photographique est autre chose.

Pour moi, il faudra trouver des arguments plus convaincants :mdr02: :mdr02:

autka

..........
..........

Messages: 7

Inscription: 27 Nov 2008

Localisation: 71

par Dormeur74 » Lundi 17 Août 2015 15:11

Ca, c'est ton point de vue. Ce n'est pas du tout celui des très nombreux spécialistes de la postprod qui oeuvrent ici et .

Si tu ne vois dans ce fil que le traditionnel "Hello World", ne vas jamais sur OpenClassRooms (ex site du Zéro). Quand on n'aime pas un truc, le mieux est de passer son chemin, au lieu de sortir tout de suite ses flingues.

Photos: 134
Dormeur74

Membre VIP
Membre VIP

Messages: 1034

Inscription: 21 Oct 2008

Localisation: Haute-Savoie

Re: Scripts sous Photoshop

par Paskal » Jeudi 27 Août 2015 18:10

hello par ici
AUTKA je crois que l idee de dormeur74 est louable et soutenue par de bonnes intentions. je ne cache pas mon incapacite a saisir l ensemble mais etant interesse a PS je cherche a saisir.

et si cela interesse qques membres et bien cest tres bien ! :yes:
Dormeur74 bien vu comme idee
le fil est a toi ! :clap:

:coucou21:

Photos: 1222
Paskal

Modérateur
Modérateur

Messages: 18160

Inscription: 06 Sep 2008

SORTIR DU MODE AUTO AVEC VOTRE APPAREIL OU FAIRE UNE FORMATION POUR RETOUCHER VOS PHOTOS A TOULON
C'EST SIMPLE ET C'EST PAR ICI :coucou2: : http://www.labo-numerique.fr

par Akkarin » Jeudi 27 Août 2015 20:33

Paskal a écrit:hello par ici
AUTKA je crois que l idee de dormeur74 est louable et soutenue par de bonnes intentions. je ne cache pas mon incapacite a saisir l ensemble mais etant interesse a PS je cherche a saisir.

et si cela interesse qques membres et bien cest tres bien ! :yes:
Dormeur74 bien vu comme idee
le fil est a toi ! :clap:

:coucou21:




Rien d'autre à rajouter :super2:

Photos: 1909
Akkarin

PIXELISTES
PIXELISTES

Messages: 11593

Inscription: 23 Juil 2011

Boitier 1: - Nikon D800

Objectif 1: - Sigma 35mm f/1.4 DG HSM

Objectif 2: - Voigtlander 90mm f/3.5 SL II Apo-Lanthar

Objectif 3: - Micro Nikkor AI-S 55mm f/3.5 Micro

Objectif 4: - Nikkor 85mm f/1,8G AF-S

Objectif 5: - Nikkor 105mm f/1.8 AI-S

Objectif 6: - Nikkor 70-200mm f/4 ED AF-S VR

Re: Scripts sous Photoshop

par Dormeur74 » Vendredi 28 Août 2015 8:12

Merci beaucoup.
On passera à des choses beaucoup plus intéressantes pour ceux qui auront digéré le début et qui voudront passer à des choses plus sérieuses. Du type interface utilisateur graphique dans le style de celle d'Habaki. Attention, je serai en vacances du 15 au 30 septembre, sans Internet.

Photos: 134
Dormeur74

Membre VIP
Membre VIP

Messages: 1034

Inscription: 21 Oct 2008

Localisation: Haute-Savoie

par autka » Mercredi 09 Septembre 2015 7:04

Dormeur74 a écrit:Cahier des charges :
- mettre un liseré blanc de 2 pixels tout autour d'une photo quelles que soient ses dimensions,
- mettre un passe-partout gris foncé tout autour. Sa largeur sera égale à 10% de la largeur de la photo. Ex : si la photo fait 500 x 1000 pixels, le passe-partout fera 550 x 1100 pixels.
- traiter de cette façon toutes les photos du dossier ../_tuto en les sauvegardant dans le sous-dossier ../_Tuto/Sauvegarde/ au format Jpeg, dans la meilleure qualité possible en conservant son profil colorimétrique.

- Edition/Contour
- Script existant dans Photoshop Actions/Cadres/cadre couleur de premier plan ou bien pour s'amuser .......créer un script facile, genre https://www.youtube.com/watch?v=QcsjTKAjVkk
- Automatisation/traitement par lots

A plus

autka

..........
..........

Messages: 7

Inscription: 27 Nov 2008

Localisation: 71

Re: Scripts sous Photoshop

par jean naideux » Lundi 22 Février 2021 23:18

Bonsoir,

Petit déterrage de post :)

#Dormeur74 : J'ai suivi ton dernier exemple pour m'en servir sur un script. Par contre moi je voudrais traiter toutes les photos du répertoire ainsi que des sous répertoires.
Merci pour ton aide car je n'arrive pas à trouver comment accéder aux sous répertoires.
A+

jean naideux

..........
..........

Messages: 2

Inscription: 22 Fév 2021

Objectif 1:

par Dormeur74 » Mardi 23 Février 2021 6:05

Il faut placer ton traitement dans une boucle avec récursivité, c'est à dire dans une fonction qui s'appelle elle-même.
Voici un exemple qui scanne un dossier et recopie dans un même dossier ([racine]\sauvegarde)toutes les photos trouvées dans le dossier et ses sous-dossiers au format jpeg,jpg,tif,psd,bmp,gif,png,pdf ou targa.

Photos: 134
Dormeur74

Membre VIP
Membre VIP

Messages: 1034

Inscription: 21 Oct 2008

Localisation: Haute-Savoie

Fichiers joints
Regroupement.zip
(1.19 Kio) Téléchargé 6 fois

Re: Scripts sous Photoshop

par jean naideux » Mardi 23 Février 2021 21:11

Bonsoir,
merci pour cette réponse.
Ca va me servir pour une autre application mais ça ne répond pas exactement à ce que je recherche.
Je m'explique un peu mieux.
Voici un exemple d'arborescence

Mon répertoire à traiter : Villes (qui contient des photos à la racine)
ensuite des Sous rep : Paris - Lyon - Marseille (qui contiennent eux-mêmes des photos)

Dans le répertoire ou les sous répertoires il y a des photos que je traite par un script et ensuite je dois les enregistrer dans un répertoire sauvegarde de chaque répertoire.
J'espère être clair ? :)

A+

jean naideux

..........
..........

Messages: 2

Inscription: 22 Fév 2021

Objectif 1:

par Dormeur74 » Mercredi 24 Février 2021 11:43

mais ça ne répond pas exactement à ce que je recherche


Si c'est une toute-cousue que tu recherchais, forcément ça ne pouvait pas faire le taf. Le moteur de ce script (la récursivité) correspond exactement à ta demande, mais je pense que tu n'as pas su l'adapter. Dans le fichier ci-dessous, tu sauras où entrer ton code de traitement.

Photos: 134
Dormeur74

Membre VIP
Membre VIP

Messages: 1034

Inscription: 21 Oct 2008

Localisation: Haute-Savoie

Fichiers joints
Récursivité.zip
(1.48 Kio) Téléchargé 3 fois
Poster une réponse
Précédente

Poster une réponse

Citer la selection
 

Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 2 invités

cron