Affichage des résultats 1 à 7 sur 7
Discussion: Script écrire exifs?
-
26/05/2011, 18h23 #1
- Inscription
- March 2006
- Localisation
- 76
- Âge
- 53
- Messages
- 6 073
- Boîtier
- 5DMK2
- Objectif(s)
- 50mm f1.4 / 100mm f2.8 /16-35 f/4 L IS/ 24-105mm L f4 / 70-200mm L f2.8
Script écrire exifs?
Bonjour à tous. Savez vous s'il est possible de créer un script qui ecrirait sur la photo ses exifs? D'avance merci. Nicolas
-
27/05/2011, 10h33 #2
- Inscription
- December 2005
- Localisation
- Bayonne
- Âge
- 76
- Messages
- 5 675
- Boîtier
- 1DX
- Objectif(s)
- 16x35 2.8 II 17x40 70x200 f/2.8 100x400 ecran calibre TAMRON 150-600
Bonjour nikkko
Oui avec des javascripts.
J ai prepare celui ci pour CS4 :
Code:app.displayDialogs = DialogModes.NO; //app.preferences.typeUnits = TypeUnits.POINTS; var strtRulerUnits = preferences.rulerUnits preferences.rulerUnits = Units.PIXELS var docRef = activeDocument; AD = activeDocument; NomImage = noneExtension( AD.name ) monNom = ""; // mettre votre Nom a la place ou bien "" NomPolice = "ParkAvenue BT" //Les EXIFS //Pour changer la position du texte il faut modifier les pourcentages hauteur et largeur var posHoriz = activeDocument.width*(2/100); //je donne un pourcentage de la taille du document var posVertic = activeDocument.height*(997/1000); //pour la position du texte = a modifier Opacite = 100; // reglage de la transparence du calque texte ( de 0 a 100 ) TailleFonte = activeDocument.width*(1.7/100); //le reglage des couleurs des exifs Rouge = 125; Vert = 45; Bleu = 10 InfoExif() //lire Les Exifs RedacTexte() //ecrire Les Exifs docRef.flatten(); //aplatir function RedacTexte() { var textColor = new SolidColor; textColor.rgb.red = Rouge; textColor.rgb.green = Vert; textColor.rgb.blue = Bleu; textColor.opacity = 10; var newTextLayer = docRef.artLayers.add(); newTextLayer.kind = LayerKind.TEXT; newTextLayer.textItem.contents = LesExifs; newTextLayer.textItem.position = Array(posHoriz, posVertic); newTextLayer.textItem.size = TailleFonte; newTextLayer.textItem.color = textColor; newTextLayer.textItem.font = NomPolice newTextLayer.opacity = Opacite; } function InfoExif() { // EXIF info LesExifs= monNom; var e = 8; //Nom du proprietaire try { LesExifs =LesExifs + " " + AD.info.exif[e][1]; //LesExifs + AD.info.exif[e][0] + " = " + AD.info.exif[e][1] + "\r"; } catch (e) {} var e = 1; //Modele de l appareil try { LesExifs =LesExifs + " " + AD.info.exif[e][1]; //LesExifs + AD.info.exif[e][0] + " = " + AD.info.exif[e][1] + "\r"; } catch (e) {} var e = 10; //Vitesse try { LesExifs = LesExifs + " " + AD.info.exif[e][1]; //LesExifs + AD.info.exif[e][0] + " = " + AD.info.exif[e][1] + "\r"; } catch (e) {} var e = 11; //Ouverture try { LesExifs = LesExifs + " " + AD.info.exif[e][1]; //LesExifs + AD.info.exif[e][0] + " = " + AD.info.exif[e][1] + "\r"; } catch (e) {} var e = 12; //Iso try { LesExifs = LesExifs + " ISO" + AD.info.exif[e][1]; //LesExifs + AD.info.exif[e][0] + " = " + AD.info.exif[e][1] + "\r"; } catch (e) {} var e = 20; //Distance focale try { LesExifs = LesExifs + " " + AD.info.exif[e][1]; //LesExifs + AD.info.exif[e][0] + " = " + AD.info.exif[e][1] + "\r"; } catch (e) {} var e = 14; //Date try { LesExifs = LesExifs + " " + AD.info.exif[e][1];// + " " + NomImage; //LesExifs + AD.info.exif[e][0] + " = " + AD.info.exif[e][1] + "\r"; } catch (e) {} } function noneExtension( fileName ) { var Point = fileName.charAt(fileName.length-4); if ( Point == "." ) { fileName = fileName.substring( 0, fileName.length-4); } return fileName; }
Pour les differentes versions de CS il faut chercher le bon chiffre pour la variable e dans les parties:
Code:var e = 8; //Nom du proprietaire try { LesExifs =LesExifs + " " + AD.info.exif[e][1]; //LesExifs + AD.info.exif[e][0] + " = " + AD.info.exif[e][1] + "\r"; } catch (e) {}
.........................
Remarque : tu peux supprimer une de ces parties si elle ne t interesse pas ou bien en rajouter !
Pour trouver la valeur de cette variable e utilises le script suivant :
Code:savedUnits=app.preferences.rulerUnits; var thisDoc=app.activeDocument; app.preferences.rulerUnits=Units.PIXELS; // EXIF info var exif_info=""; for (var e = 0; e < thisDoc.info.exif.length; e++){ try { exif_info = exif_info + thisDoc.info.exif[e][0] + " = " + thisDoc.info.exif[e][1] + "\r"; } catch (e) {} } // alert(thisDoc.info.exif); text_layer=thisDoc.artLayers.add(); text_layer.kind = LayerKind.TEXT; textColor = new SolidColor; textColor.rgb.red = 0; textColor.rgb.green = 0; textColor.rgb.blue = 0; text_layer.textItem.color = textColor; text_layer.textItem.kind=TextType.PARAGRAPHTEXT; text_layer.textItem.position = Array(thisDoc.width * 0.05, thisDoc.height * 0.05); text_layer.textItem.size = 18; //a la place de 4 text_layer.textItem.font = "ArialMT"; text_layer.textItem.width = thisDoc.width * 0.8 text_layer.textItem.height = thisDoc.height * 0.8 text_layer.textItem.contents=exif_info; // restore preferences app.preferences.rulerUnits=savedUnits;
-
27/05/2011, 11h10 #3
- Inscription
- March 2011
- Localisation
- Paris
- Âge
- 44
- Messages
- 195
- Boîtier
- Canon EOS 60D Gripé
- Objectif(s)
- 10-20 • 50 1,8 • 17-50 2,8 • 17-85 • 70-200 4 + ext 2/1,4 II
Alors là, c'est précis.
bravo
-
27/05/2011, 11h32 #4
- Inscription
- December 2005
- Localisation
- Bayonne
- Âge
- 76
- Messages
- 5 675
- Boîtier
- 1DX
- Objectif(s)
- 16x35 2.8 II 17x40 70x200 f/2.8 100x400 ecran calibre TAMRON 150-600
Merci a toi piercin !
L habitude des modifications en fonction des versions..........
-
27/05/2011, 13h21 #5
- Inscription
- March 2006
- Localisation
- 76
- Âge
- 53
- Messages
- 6 073
- Boîtier
- 5DMK2
- Objectif(s)
- 50mm f1.4 / 100mm f2.8 /16-35 f/4 L IS/ 24-105mm L f4 / 70-200mm L f2.8
Salut Béo
j'essayerai ça dès que possible même si je ne suis pas sûr d'avoir tout compris
Merci en tout cas !
-
27/05/2011, 16h55 #6
- Inscription
- March 2006
- Localisation
- 76
- Âge
- 53
- Messages
- 6 073
- Boîtier
- 5DMK2
- Objectif(s)
- 50mm f1.4 / 100mm f2.8 /16-35 f/4 L IS/ 24-105mm L f4 / 70-200mm L f2.8
bon me voilà de retour.
J'ai réussi plus ou moins
Quelques questions :
1) je n'arrive pas à changer la police utilisée, pourtant je change la ligne NomPolice = "Segoe Script" mais ça ne change rien
2) tu écris que pour trouver la valeur de la variable e il faut utiliser le dernier code que tu as mis. Que dois je faire ? (ecrire un text avec le code, et ensuite qu'en fais je?)
d'avance merci
Nico
-
29/05/2011, 08h26 #7
- Inscription
- December 2005
- Localisation
- Bayonne
- Âge
- 76
- Messages
- 5 675
- Boîtier
- 1DX
- Objectif(s)
- 16x35 2.8 II 17x40 70x200 f/2.8 100x400 ecran calibre TAMRON 150-600
Tu copies ce deuxieme script dans un fichier texte dont tu changes l extension en .jsx - par exemple InfoExif.jsx - puis tu le lances dans photoshop sur une image ouverte et les lignes des exifs vont s afficher dans l image ( vers le haut a gauche ) . tu comptes les lignes pour e en commencant par zero.
Un autre fichier jsx - listePolice.jsx - pour savoir comment ecrire le nom de la police dans les jsx - par exemple =Arial= doit s ecrire =ArialMT= ( j ai mis la le signe = comme dans le fichier texte qui va etre produit par le scipt a la place de " pour delimiter les espaces vides eventuels.
Tu copies le nom de la police PostScript situe entre les 2 signes =
Ce fichier listePolice.jsx qui cree un fichier texte listePolice.txt la ou tu le desires :
Code://listePolices.jsx // Ask user for output folder var inputFolder = Folder.selectDialog("Choisissez un dossier pour y créer la liste des polices"); //Create the Excel comma delimited file in the selected folder var nufile = new File(inputFolder + "/" + "ListePolices.txt" ); nufile.open("w"); nufile.write("Nom Photoshop, Nom PostScript" + "\n"+ "\n"); for (var i = 0 ; i <=app.fonts.length-1 ; i++) { nufile.write( app.fonts[i].name + " : =" + app.fonts[i].postScriptName +"=" + "\n"); } //Close the Excel comma delimited file nufile.close(); alert("La liste des fichiers a été créée sous le nom de ListePolices.txt");
Dernière modification par beocien ; 29/05/2011 à 08h28.
Informations de la discussion
Utilisateur(s) sur cette discussion
Il y a actuellement 1 utilisateur(s) naviguant sur cette discussion. (0 utilisateur(s) et 1 invité(s))
Discussions similaires
-
Une plume pour écrire une image
Par DanybounZ dans le forum [Paysage]Réponses: 4Dernier message: 29/05/2010, 17h53 -
[PhotoshopCS3] - Script pour un script ... ^_^
Par Nlky dans le forum Photoshop et Camera RawRéponses: 5Dernier message: 23/07/2009, 21h24 -
Plume d'oie... Pour écrire un poème d'amour ?
Par Theoutoa dans le forum [Inclassable]Réponses: 6Dernier message: 16/08/2007, 22h20