Bonjour & Bienvenue sur EOS-Numerique
Réseaux Sociaux : Follow us on Facebook Follow us on Twitter


Sign Up






Affichage des résultats 1 à 7 sur 7

Discussion: Script écrire exifs?

  1. #1
    Membre Avatar de nikkko
    Inscription
    mars 2006
    Localisation
    76
    Âge
    52
    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

    Par défaut 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


  2. #2
    Membre Avatar de beocien
    Inscription
    décembre 2005
    Localisation
    Bayonne
    Âge
    75
    Messages
    5 675
    Boîtier
    1DX
    Objectif(s)
    16x35 2.8 II 17x40 70x200 f/2.8 100x400 ecran calibre TAMRON 150-600

    Par défaut

    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; 
    	}
    Tu le copies dans un fichier texte dont tu changes l extension en .jsx puis tu le colles dans le dossier Scripts de Photoshop. Ensuite tu crees un script .atn et tu vas le chercher dans Fichiers/Scripts/Parcourir... ( avec une image ouverte ).

    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) {}
    var e= 10; //Vitesse
    .........................

    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;
    Tu comptes les lignes d information en partant de 0 pour la premiere puis tu modifies les valeurs des e.



  3. #3
    Membre
    Inscription
    mars 2011
    Localisation
    Paris
    Âge
    43
    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

    Par défaut

    Alors là, c'est précis.

    bravo

  4. #4
    Membre Avatar de beocien
    Inscription
    décembre 2005
    Localisation
    Bayonne
    Âge
    75
    Messages
    5 675
    Boîtier
    1DX
    Objectif(s)
    16x35 2.8 II 17x40 70x200 f/2.8 100x400 ecran calibre TAMRON 150-600

    Par défaut

    Merci a toi piercin !

    L habitude des modifications en fonction des versions..........


  5. #5
    Membre Avatar de nikkko
    Inscription
    mars 2006
    Localisation
    76
    Âge
    52
    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

    Par défaut

    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 !

  6. #6
    Membre Avatar de nikkko
    Inscription
    mars 2006
    Localisation
    76
    Âge
    52
    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

    Par défaut

    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

  7. #7
    Membre Avatar de beocien
    Inscription
    décembre 2005
    Localisation
    Bayonne
    Âge
    75
    Messages
    5 675
    Boîtier
    1DX
    Objectif(s)
    16x35 2.8 II 17x40 70x200 f/2.8 100x400 ecran calibre TAMRON 150-600

    Par défaut

    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 à 09h28.

 

 

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

  1. Une plume pour écrire une image
    Par DanybounZ dans le forum [Paysage]
    Réponses: 4
    Dernier message: 29/05/2010, 18h53
  2. [PhotoshopCS3] - Script pour un script ... ^_^
    Par Nlky dans le forum Photoshop et Camera Raw
    Réponses: 5
    Dernier message: 23/07/2009, 22h24
  3. Plume d'oie... Pour écrire un poème d'amour ?
    Par Theoutoa dans le forum [Inclassable]
    Réponses: 6
    Dernier message: 16/08/2007, 23h20

Règles de messages

  • Vous ne pouvez pas créer de nouvelles discussions
  • Vous ne pouvez pas envoyer des réponses
  • Vous ne pouvez pas envoyer des pièces jointes
  • Vous ne pouvez pas modifier vos messages
  •  
Fuseau horaire GMT +2. Il est actuellement 15h23.
Powered by vBulletin® Version 4.2.5
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.
Search Engine Optimisation provided by DragonByte SEO (Pro) - vBulletin Mods & Addons Copyright © 2024 DragonByte Technologies Ltd.
Auto Closing Of Threads provided by Threads Auto Close (Lite) - vBulletin Mods & Addons Copyright © 2024 DragonByte Technologies Ltd.
Copyright © Eos-numerique 2004-2023
vBulletin Skin By: PurevB.com