SCRIPTS ET TRAITEMENTS PAR LOTS

Transcription

SCRIPTS ET TRAITEMENTS PAR LOTS
SCRIPTS ET TRAITEMENTS PAR LOTS
Le but de ce tutorial est de vous initier au maniement des scripts pour automatiser des
traitements répétitifs qu’on doit appliquer à toutes les images d’un dossier. Pour vous faire la
main, il vous faut un dossier cobaye «!dossier_source!» dans lequel vous allez placer 3 ou 4
fichiers (ou plus) composée de plusieurs calques.
Tout cela est abondamment traité sur le web!; à titre d’exemple, voici trois références parmi
bien d’autres!:
http://www.absolut-photo.com/tutoriels/script_photoshop.php
http://www.diapovision.com/formation/pshop/batch.htm
http://www.photoshop-school.org/tutoriaux/traitement-par-lots
Dans un premier temps, nous allons faire un script pour transformer tous ces fichiers en
images JPEG destinées à être projetées sur vidéoprojecteur, donc devant s’inscrire en principe
dans un rectangle 1024x768. Nous allons y arriver en plusieurs étapes. Suivez le guide!!
La palette des scripts et notre premier script
Un script est une suite d’actions qu’on a enregistrées sur
une image donnée et que l’on peut répéter ensuite à
l’identique pour une autre image. On accède aux scripts
par la palette des scripts. Dans l’exemple ci-contre, on
voit trois lignes avec chacune un icône de dossier qui
correspondent en fait à de véritables dossiers où on peut
ranger autant de scripts que l’on veut!; la ligne «!Scripts par défauts!» vient avec l’installation
de Photoshop, mais les deux autres lignes ont été créées par l’utilisateur. Toute la palette se
commande avec les boutons du bas!de la palette ; on a aussi un menu local (le bouton tout en
haut à droite), mais on peut se passer de celui-ci. Pour se rappeler la fonction des différents
boutons, immobilisez la souris dessus pour voir apparaître une brève explication.
Avant de créer votre premier script, il vous faut créer un dossier
personnel, afin de ne pas perdre vos essais parmi la foule des autres
scripts déjà installés. Cela se fait par le bouton cerclé en rouge ci-contre. On vous propose de
l’appeler «!Ensemble 1!» mais vous pouvez prendre le nom qui vous plaira!; vous voyez alors
une nouvelle ligne apparaître sous ce nom dans la palette des scripts. Si vous avez des regrets
tardifs, vous pouvez encore changer à tout moment après un double clic sur ce nom.
Avant de continuer, ouvrez une image.
Notre premier script va être excessivement modeste!et ne contenir qu’une réduction de taille.
Néammoins, nous allons nous heurter d’emblée à l’une des faiblesses de Photoshop, l’absence
d’instructions conditionnelles dans les scripts. Comment faire pour que nos images
s’inscrivent toutes dans le rectangle 1024x768!? Si on pouvait distinguer entre les images
horizontales et les verticales, on réduirait la largeur des premières à 1024 px et la hauteur des
secondes à 768 px, mais on ne peut pas faire ce tri automatiquement dans un script. Alors!?
! Si vous voulez faire les choses très proprement, il vous faudrait faire le tri vous-même,
en constituant deux sous-dossiers différents pour les horizontales et les verticales, et
en leur appliquant deux scripts différents.
! Pour aller plus vite, nous nous contenterons d’un seul script, demandant de réduire la
hauteur à 768 px. Si toutes vos images ont le format 4/3 (ou moins), vos horizontales
prendront la bonne valeur 1024 px (ou moins). Par contre, si vous avez des images
plus allongées, les horizontales déborderont des 1024 px et ce sera au logiciel de
projection de faire la réduction — à vous de choisir entre la commodité du travail et la
qualité finale à la projection…
! Nous verrons toutefois un autre moyen de s’en sortir à la fin du tutorial, en plaçant un
point d’arrêt dans le script.
Nous allons maintenant faire notre premier script.
(i)
Dans la palette des scripts, cliquez sur le bouton
«!nouveau script!». Le programme vous demande quel
nom pour ce script et dans quel ensemble vous allez le mettre, puis passe en mode
d’enregistrement (le deuxième bouton de la palette passe en rouge). A partir de ce
moment, tout ce que vous allez faire sera enregistré dans le script.
(ii)
Nous nous conterons de deux instructions!: d’abord un aplatissement de l’image
par la méthode qui vous plaira (menu Calque > Aplatir l’image, ou bien menu
local de la palette des calques, ou bien encore raccourci clavier CTRL+ALT+E)
(iii)
puis un changement de taille de l’image avec
rééchantillonage et passage de la hauteur à
768!px. Ces deux opérations se sont réflétées
dans la palette des scripts par l’apparition de
deux lignes rappelant les opérations effectuées,
comme on peut le voir ci-contre
(iv)
Arrêtez l’enregistrement du script en cliquant sur le
bouton le plus à gauche (en bleu ci-contre). Le deuxième
bouton passe alors du rouge au gris.
Vous pouvez maintenant en vérifier le bon fonctionnement en ouvrant
une autre image, puis en sélectionnant ce script (cliquez sur sa ligne
dans la palette des scripts), et enfin en lançant son exécution avec le
bouton en triangle.
Incidemment, si vous décochez une ligne (clic sur la première colonne de la
palette), l’instruction correspondante n’est pas exécutée.
Vous pouvez aussi ouvrir la ligne «!taille de l’image!» dans la palette!: vous voyez les
paramètres qui dont utilisés dans l’opération (mais vous ne pouvez pas les modifier)
Application automatique à tout un dossier
Rappelez-vous que vous devez avoir préparé un dossier cobaye. Son traitement automatique
se passe avec le menu Fichier > Automatisation > Traitements par lots. Il s’ouvre une boîte
de dialogue imposante, qui est organisée en 4 cadres, soulignés d’un contour de couleur dans
l’image ci-contre.
1 – Cadre Exécuter!: on doit y faire
apparaître le script à exécuter
2 — Cadre Source!: la première liste
déroulante doit bien être sur «!Dossier!».
Cliquez sur le bouton «!Sélectionner!»
pour définir le dossier que vous allez
traiter. Ne vous occupez pas des autres
options!; tout doit être décoché dans ce
premier exercice.
3 — Cadre Destination!: idem, la
première liste déroulante doit bien être sur
«!Dossier!» et cliquez sur le bouton
«!Sélectionner!» pour définir le dossier que
vous allez traiter!; au besoin, vous pouvez
créer un nouveau dossier. Ne prenez pas le
même dossier, toutes vos images seraient
écrasées — comme nous alons devoir faire
d’autres essais, autant prendre nos
précautions.
Les 6 listes déroulantes tout en bas du
cadre permettent éventuellement de renommer les fichiers traités au moment de leur
sauvegardes.
4 — Cadre Erreurs!: la conduite à tenir en cas de problème. Vous pouvez choisir d’arrêter
immédiatement, mais je conseille de consigner les erreurs dans un fichier!; dans ce cas, il faut
cliquer sur «!Enregistrer!» pour dire où vous mettez ce fichier — le bureau ou le dossier de
destination feront très bien l’affaire.
Allez-y, ça doit marcher. Bien que notre script ne contienne aucune instruction d’ouverture
ou d’enregistrement, les images sont bel et bien ouvertes, réduites et réenregistrées dans le
dossier de destination, sous les mêmes noms que les fichiers d’origine et sous le même format.
Evidemment, comme nous ne voulons que des fichiers jpeg en sortie, il va falloir compliquer
un peu les choses.
Comment n’obtenir que des JPEG en sortie!?
Il fait évidemment ajouter une instruction d’enregistrement dans le script. Pour cela,
(i)
ouvrir une image cobaye
(ii)
dans la palette des scripts, ouvrir le script et
sélectionner l’intruction après laquelle on va rajouter
quelque chose. Dans notre cas, il s’agit de la dernière
instruction, «!taille de l’image!».
(iii)
cliquer sur le bouton d’enregistrement. Celui-ci passe
en rouge (cf figure)
(iv)
sur l’image cobaye, aller au menu Enregistrer sous et demander un format JPEG.
Choisissez une destination sur le bureau!; l’endroit précis n’a aucune importance
mais il faudra ensuite faire le ménage et supprimer l’image ainsi obtenue. Pour une
projection sur vidéoprojecteur, une qualité moyenne sera suffisante.
(v)
Arrêtez l’enregistrement du script (1er bouton sur la palette)
Lors de l’exécution par lot sur tout un dossier, il va falloir empêcher l’instruction de
sauvegarde de reprendre le nom de fichier qu’on a utilisé lors de l’enregistrement du script.
On obtient cela en cochant l’option «!Priorité
sur les instructions Enregistrer sous!»
cochée ci-contre.
Essayez…
Encore un petit perfectionnement à notre script
Je suis désolé pour les débutants si vous trouvez ce qui suit complètement hermétique, mais
pour que vos images passent au mieux sur le vidéoprojecteur, il est important qu’elles soient
dans le profil colorimétrique «!sRGB!», ce qui n’est pas forcément le cas selon la façon dont
vous avez obtenu ces images. Ça va nous donner l’occasion de rajouter une ligne à notre
script.
Au préalable, rappelons que ce profil se
lit dans la barre d’état de Photoshop, en
demandant «!profil de document!» dans le
menu local de cette barre!; sous MacOS,
cette barre est intégrée au cadre des
fenêtres d’image.
Donc,
(i)
ouvrir une image. Pour réussir à modifier notre script, il faut que son profil
précisément ne soit pas sRGB!; nous allons donc commencer par le changer en
quelque chose d’autre. Pour cela, si vous avez un Photoshop 8 (ou plus ancien),
aller au menu Image > Mode > Convertir en profil, ou, sur la version CS2, allez
au menu Edition > Convertir en profil!; chercher la ligne «!Adobe RGB (1998)!»
dans la liste déroulante. Les options de conversion ne devraient pas avoir
(ii)
(iii)
(iv)
d’importance, mais il faut bien choisir!: prendre colorimétrie relative et ne pas
cocher l’option compensation du point noir.
Revenons au script. Il faut se placer avant la sauvegarde finale, donc à nouveau sur
la ligne«!taille de l’image!»!et rouvrir l’enregistrement du script.
Comme nous l’avons fait en (i), revenez au menu Convertir en profil , mais cette
fois choisissez «!sRGB!» dans la liste déroulante
(exactement, sRGB IEC61966-2.1).
Arrêter l’enregistrement. Vous devez obtenir les
lignes ci-contre dans la palette des scripts.
Si vous partiez d’une image en sRGB lors de la modification
du script et que vous ne changiez pas son profil dans l’étape
initiale, Photoshop considérerait qu’il ne se passe rien dans l’étape (iii) et refuserait donc
d’enregistrer la conversion en sRGB.
Introduction de points d’arrêt dans le script
Une façon de résoudre la difficulté des verticales/horizontales
dans notre script est de placer un point d’arrêt sur l’instruction
«!Taille de l’image!», en cochant la 2ème case dans la ligne
correspondante du script (en vert ci-contre). Lors de l’exécution,
le programme s’arrête sur la boîte de dialogue de l’instruction. Le
script propose alors le choix de dimensions qu’on a retenu quand
on a fait le script, mais si l’une des deux déborde du cadre 1024 x 768, on peut très bien la
corriger à la main. Le script repart quand on clique OK dans le dialogue. On résoud donc ainsi
la difficulté, mais en renonçant à un fonctionnement entièrement automatique!; à vous de
choisir…
On peut même intercaler un message d’avertissement. Pour cela (sans qu’il soit
nécessaire se remettre en enregistrement) on va chercher dans le menu local de la
palette des scripts la ligne Insérer un point d’arrêt… et peut écrire un message
explicatif sur ce qui va suivre!; il faut faudra cocher l’option «!Autorisation de
continuer!» (sinon le script s’arrêterait lors de l’exécution).
Importation et exportation de scripts
On trouve de nombreux scripts prêts à l’emploi sur Internet sous le forme de fichiers «!atn!»
(c.à.d. des fichiers avec l’extension atn). Pour les mettre en œuvre, il faut passer par la
rubrique Charger des scripts du menu local de la palette de scripts, qui ouvre une boîte de
dialogue d’ouverture de fichier et où vous devez indiquer où se trouve le fichier «!atn!» à
charger.
Inversement, il se peut que vous vouliez transmettre vos scripts à quelqu’un d’autre, ou
simplement les archiver pour les mettre à l’abri ou pour les récupérer quand vous passerez à
une autre version de Photoshop. Pour cela, il faudra sélectionner un ensemble de vos scripts
(on ne peut agir que un ensemble de scripts) et passer par la rubrique Enregistrer les scripts
du menu local, qui transformera cet ensemble en ficher «!atn!».
Une alternative pour enregistrer des fichiers dans un
script
Dans le dialogue d’exécution par lots, on a 3 possibilités
pour la liste déroulante «!Sélectionner!» du cadre
«!Destination!». Si on choisit «!Enregistrer et fermer!», le
script va enregistrer les fichiers dans le répertoire même qui aura été utilisé lors de
l’enregistrement du script. Si le script ne trouve pas ce répertoire (parce qu’il aura été détruit
entre temps, ou bien déplacé dans l’arborescence du disque dur), il n’y aura pas de
sauvegarde. Ce mode de fonctionnement est donc moins souple que le mode «!Dossier!», avec
lequel on peut envoyer les fichiers n’importe où, mais il permet d’avoir plusieurs instructions
d’enregistrement dans des répertoires différents dans le même script — par exemple pour
créer des galeries pour le web, où on a besoin à la fois d’images et de vignettes.
Dans la perspective de galeries pour le web, il vaudrait mieux remplacer l’enregistrement
classique par le menu Enregistrer pour le web, afin d’obtenir des fichiers plus petits. Ce menu
permettra lui aussi de multiplier les enregistrements vers des répertoires différents dans le
même script, mais
(i) il faudra cette fois choisir l’option «!Sans!» dans la liste déroulante «!Destination!»
(ii) il faudra ajouter une instruction Fermer l’image dans le script (sinon, toutes les images
traitées resteraient ouvertes)
(iii) et, à nouveau, il faudra que les répertoires utilisés lors de la création du script soient
toujours disponibles lors de son exécution, avec le même nom et la même place dans
l’arborescence.