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


Sign Up






Affichage des résultats 1 à 6 sur 6
  1. #1
    Membre Avatar de YVES42
    Inscription
    août 2006
    Localisation
    FRANCE
    Âge
    50
    Messages
    428
    Boîtier
    7D + Grip
    Objectif(s)
    15-85 IS USM + 70-200 F4 L IS+ 50 f1.4

    Par défaut Filigrane incrementale

    Bonjour.


    Je souhaite avoir un script qui inscrive un numéro incrémentale en bas de ma photo et qui l'enregistre sous le numero + le nom d'origine.

    En cherchant sur le net j'ai trouvé ceci :

    Code:
    // vous utilisez ce script à vos propres risques !
    #target photoshop
    // folder selection;
    var theFolder = Folder.selectDialog ("select folder");
    if (theFolder) {
       var theFolderFiles = retrieveTIFandPSDandJPG (theFolder, []);
       var originalRulerUnits = preferences.rulerUnits;
       preferences.rulerUnits = Units.PERCENT;
    // work through the files;
       for (var m = 0; m < theFolderFiles.length; m++) {
          var theNumber = bufferNumberWithZeros(m + 1, 3);
          var myDocument = app.open(File(theFolderFiles[m]));
    // getting the name and location;
          var docName = myDocument.name;
          var basename = docName.match(/(.*)\.[^\.]+$/)[1];
    //getting the location;
          var docPath = myDocument.path;
    // create a text layer;
          var textLayer = myDocument.artLayers.add();
          textLayer.kind = LayerKind.TEXT;
          textLayer.name = "text";
          textLayer.blendMode = BlendMode.NORMAL;
          textLayer.opacity = 100; 
          var myTextRef = textLayer.textItem;
          myTextRef.size = 150;
          myTextRef.font = "Arial";
          var newColor = new SolidColor();
          newColor.rgb.red = 255;
          newColor.rgb.green = 255;
          newColor.rgb.blue = 255;
          myTextRef.color = newColor;
          myTextRef.position = new Array( 1, 99);
          myTextRef.contents = theNumber;
    // jpg options;
          var jpegOptions = new JPEGSaveOptions();
          jpegOptions.quality = 12;
          jpegOptions.embedColorProfile = true;
    //save jpg;
          myDocument.saveAs((new File(docPath+"/"+theNumber+"_"+basename+".jpg")),jpegOptions,true);
          myDocument.close(SaveOptions.DONOTSAVECHANGES)
          };
       preferences.rulerUnits = originalRulerUnits;
       };
    ////// get tif-, psd-, jpg-files from folder and subfolders //////
    function retrieveTIFandPSDandJPG (theFolder, theFiles) {
       if (!theFiles) {var theFiles = []};
       var theContent = theFolder.getFiles();
       for (var n = 0; n < theContent.length; n++) {
          var theObject = theContent[n];
          if (theObject.constructor.name == "Folder") {
             theFiles = retrieveTIFandPSDandJPG(theObject, theFiles)
             };
          if (theObject.name.slice(-4) == ".tif" || theObject.name.slice(-4) == ".psd" || theObject.name.slice(-4) == ".jpg") {
             theFiles = theFiles.concat(theObject)
             }
          };
       return theFiles
       };
    ////// buffer number with zeros //////
    function bufferNumberWithZeros (number, places) {
       var theNumberString = String(number);
       for (var o = 0; o < (places - String(number).length); o++) {
          theNumberString = String("0" + theNumberString)
          };
       return theNumberString
       };
    Cela fonctionne assez bien mais je souhaiterai choisir le numéro de départ de la numérotation.

    Avez vous une idée ?

    Merci pour votre aide


  2. #2
    Membre Avatar de antec
    Inscription
    septembre 2013
    Localisation
    France (08)
    Âge
    67
    Messages
    1 812
    Boîtier
    Eos 70D
    Objectif(s)
    Canon + ...

  3. #3
    Abonné
    Inscription
    novembre 2013
    Localisation
    IdF (77)
    Âge
    61
    Messages
    2 068
    Boîtier
    5D3,6D2,7D
    Objectif(s)
    S17-50f2.8, S50f1.4A, C70-200f2.8, S85f1.4, S105f1.4, S120-300f2.8, x1.4+x2
    Mes photos publiées

    Par défaut

    Bonjour,

    La variable gérant le numéro c'est "theNumber" sa valeur dépend de "m" qui est initialisé dans la boucle for à 0

    Bonne continuation

  4. #4
    Membre Avatar de YVES42
    Inscription
    août 2006
    Localisation
    FRANCE
    Âge
    50
    Messages
    428
    Boîtier
    7D + Grip
    Objectif(s)
    15-85 IS USM + 70-200 F4 L IS+ 50 f1.4

    Par défaut

    Bonjour Antec
    Oui c'est ceci mais je veux rester sur un script ( gratuit )
    je voulais éviter de passé par une appli supplementaire.

    Bonjour YVnod77
    j'avais compris que la valeur thenumber contrôlais le numero mais je ne veux pas a avoir a modifier le code pour chaque utilisation.
    Je pensais qu'il était possible d'avoir une boite de dialogue qui demande le numero de depart.

    J'ai fais des essais mais le contenu de ma boite de dialogue est considéré comme du texte
    exemple si je rentre 100
    l’incrémentation se fait 100 1 - 100 2 - 100 3 - 100 4

    voici mon essai :

    Code:
    // vous utilisez ce script à vos propres risques !
    #target photoshop
    // folder selection;
    var theFolder = Folder.selectDialog ("select folder");
    if (theFolder) {
       var theFolderFiles = retrieveTIFandPSDandJPG (theFolder, []);
       var originalRulerUnits = preferences.rulerUnits;
       preferences.rulerUnits = Units.PERCENT;
       
     var reponse = prompt("Numero de la première photo ?", "<Entrez ici votre numero>");
    if( reponse == null ){
        alert("Vous avez cliqué sur Annuler");
        
    } else 
     var r = reponse;
    }
    // work through the files;
       for (var m = 0; m < theFolderFiles.length; m++) {
               var theNumber = bufferNumberWithZeros(r+ m, 3);
          var myDocument = app.open(File(theFolderFiles[m]));
    // getting the name and location;
          var docName = myDocument.name;
          var basename = docName.match(/(.*)\.[^\.]+$/)[1];
    //getting the location;
          var docPath = myDocument.path;
    // create a text layer;
          var textLayer = myDocument.artLayers.add();
          textLayer.kind = LayerKind.TEXT;
          textLayer.name = "text";
          textLayer.blendMode = BlendMode.NORMAL;
          textLayer.opacity = 100; 
          var myTextRef = textLayer.textItem;
          myTextRef.size = 150;
          myTextRef.font = "Arial";
          var newColor = new SolidColor();
          newColor.rgb.red = 255;
          newColor.rgb.green = 255;
          newColor.rgb.blue = 255;
          myTextRef.color = newColor;
          myTextRef.position = new Array( 1, 99);
          myTextRef.contents = theNumber;
    // jpg options;
          var jpegOptions = new JPEGSaveOptions();
          jpegOptions.quality = 12;
          jpegOptions.embedColorProfile = true;
    //save jpg;
          myDocument.saveAs((new File(docPath+"/"+theNumber+"_"+basename+".jpg")),jpegOptions,true);
          myDocument.close(SaveOptions.DONOTSAVECHANGES)
          };
       preferences.rulerUnits = originalRulerUnits;
       ;
    ////// get tif-, psd-, jpg-files from folder and subfolders //////
    function retrieveTIFandPSDandJPG (theFolder, theFiles) {
       if (!theFiles) {var theFiles = []};
       var theContent = theFolder.getFiles();
       for (var n = 0; n < theContent.length; n++) {
          var theObject = theContent[n];
          if (theObject.constructor.name == "Folder") {
             theFiles = retrieveTIFandPSDandJPG(theObject, theFiles)
             };
          if (theObject.name.slice(-4) == ".tif" || theObject.name.slice(-4) == ".psd" || theObject.name.slice(-4) == ".jpg") {
             theFiles = theFiles.concat(theObject)
             }
          };
       return theFiles
       };
    ////// buffer number with zeros //////
    function bufferNumberWithZeros (number, places) {
       var theNumberString = String(number);
       for (var o = 0; o < (places - String(number).length); o++) {
          theNumberString = String("0" + theNumberString)
          };
       return theNumberString
       };
    Merci pour votre aide

  5. #5
    Abonné
    Inscription
    novembre 2013
    Localisation
    IdF (77)
    Âge
    61
    Messages
    2 068
    Boîtier
    5D3,6D2,7D
    Objectif(s)
    S17-50f2.8, S50f1.4A, C70-200f2.8, S85f1.4, S105f1.4, S120-300f2.8, x1.4+x2
    Mes photos publiées

    Par défaut

    Je pense que c'est un problème de typage de variable (ou de transtypage, conversion de type)

    r et reponse doivent être de type chaine de caractères, m est de type entier, la fonction bufferNumberWithZeros attend un entier "number" et un entier "places"

    Je te propose plusieurs tests :
    - Retires l'espace devant le m dans l'appel "var theNumber = bufferNumberWithZeros(r+m, 3);"
    - Utilises une variable dans l'appel de fonction "var toto = m+r ;" l'appel devient "var theNumber = bufferNumberWithZeros(toto, 3);"
    - essaies quelque chose du genre "var r = 0+reponse;" a la place de "var r = reponse;"
    - recherches une fonction qui convertisse les chaines de caractères en entier (en gros l'inverse de la fonction string utilisé dans la fonction bufferNumberWithZeros, peut être Int ou Integer ?

  6. #6
    Membre Avatar de YVES42
    Inscription
    août 2006
    Localisation
    FRANCE
    Âge
    50
    Messages
    428
    Boîtier
    7D + Grip
    Objectif(s)
    15-85 IS USM + 70-200 F4 L IS+ 50 f1.4

    Par défaut

    Merci pour tes conseils.
    c 'est effectivement un problème de type de variable
    J'ai trouvé j'ai rajouté un : parseInt et cela fonctionne.

    Le script fonctionne mais quelquefois il ne s 'exécute pas complètement.
    Photoshop se lance
    la fenêtre dossier aussi
    la boite de dialogue pour le chiffre de départ aussi
    et puis au moment du traitement des photos plus rien.

    Le problème peut il venir du poids ou de la résolution des photos cela arrive qu'une fois de temps en temps

 

 

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. Filigrane sous LR 3.6
    Par Golgoth XII° dans le forum Lightroom
    Réponses: 15
    Dernier message: 17/08/2014, 22h33
  2. filigrane de ronce
    Par dkeith dans le forum [Noir & Blanc]
    Réponses: 3
    Dernier message: 20/10/2011, 14h58
  3. Filigrane or not ...
    Par Michel_R dans le forum Discussions générales
    Réponses: 6
    Dernier message: 04/06/2010, 23h54
  4. filigrane et Lightroom
    Par chacha95 dans le forum Lightroom
    Réponses: 2
    Dernier message: 26/01/2009, 02h28
  5. Filigrane
    Par gribou dans le forum Les Logiciels photo
    Réponses: 1
    Dernier message: 03/05/2007, 17h21

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 16h29.
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