IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

JavaScript Discussion :

parcours d'un repertoire


Sujet :

JavaScript

  1. #1
    Membre chevronné Avatar de guigo
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    612
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 612
    Par défaut parcours d'un repertoire
    Bonjour,
    voila je fais un petit script en js pour pouvoir redimensionner des photos sous photoshop. Je n'y connais pas grand chose en photoshop et j'arrive pas à faire de traitement par lot en chargeant mon fichier js...
    Je veux donc palier a ca en faisant un parcours de répertoire. Pour le moment je suis obligé d'ouvrir toutes les photos dans photoshop ce qui est problématique vu le nombre de photos que j'ai a redimensionner...
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
     
    function main()
    {
     
      var nbPhotos = app.documents.length; // ici je suis obligé d'avoir les photos ouverte dans photoshop :-(
      var saveFile;
     
      // Largeur des photos
      var maxWidth= 150;
      // Hauteur des photos
      var maxHeight = 110;
     
      var JPEGS = new JPEGSaveOptions();
      var ratio;
      JPEGS.quality = 7;
     
      // Mesures en pixels et non en cm
      app.preferences.typeUnits = TypeUnits.PIXELS;
      app.preferences.rulerUnits = Units.PIXELS;
     
      var cheminNewDossier = app.activeDocument.path+"/redim/";
      var dossier = new Folder(cheminNewDossier)
      dossier.create();
     
     
      // On recupere les tailles reelles
      var h = dH = app.activeDocument.height;
      var w = dW = app.activeDocument.width; 
     
     
     
      for(i=0;i< nbPhotos;i++)
      {
        saveFile = new File(cheminNewDossier+app.activeDocument.name);
     
        // Si la largeur ou la hauteur depasse la taille maximale
    	  if ((h >= maxHeight) || (w >= maxWidth)) { 
    		// Si la largeur et la hauteur depasse la taille maximale
    		if ((h >= maxHeight) && (w >= maxWidth)) {
    		  // On cherche la plus grande valeur
    		  if (h > w) {
    			dH = maxHeight;
    			// On recalcule la taille proportionnellement
    			dW = parseInt((w * dH) / h, 10);
    		  } else {
    			dW = maxWidth;
    			// On recalcule la taille proportionnellement
    			dH = parseInt((h * dW) / w, 10);
    		  }
    		} else if ((h >= maxHeight) && (w <= maxWidth)) { 
    		  // Si la hauteur depasse la taille maximale
    		  dH = maxHeight;
    			// On recalcule la taille proportionnellement
    		  dW = parseInt((w * dH) / h, 10);
    		} else if ((h <= maxHeight) && (w >= maxWidth)) { 
    		  // Si la largeur depasse la taille maximale
    		  dW = maxWidth;
    			// On recalcule la taille proportionnellement
    		  dH = parseInt((h * dW) / w, 10);
    		}
    	  }
     
     
        app.activeDocument.resizeImage(dW, dH);   
     
        app.activeDocument.saveAs(saveFile, JPEGS, false, Extension.LOWERCASE);
        app.activeDocument.close();
     
        // Suppression de l'objet (pas du fichier)
        delete saveFile;
      }
    }
     
    if(app.documents.length > 0)
      main();
    Si quelqu'un avait une diée ? :-)

    Merci,
    Guigo

  2. #2
    Membre Expert
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    1 418
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 1 418
    Par défaut
    Salut,

    Quel est donc le problème ?
    Parcourir un répertoire ou ouvrir des photos ?

  3. #3
    Membre chevronné Avatar de guigo
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    612
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 612
    Par défaut
    Salut,
    merci pour ta rapidité !
    Le probleme vient des deux.
    J'aimerais definir dans une variable un chemin. Puis ensuite le strict fait

    Pour chauqe image du repertoire{
    ouverture de l'image dans photoshop;
    traitement;
    enregistrement de l'image;
    fermeture de l'image;
    }

    Merci,
    Guigo

  4. #4
    Membre Expert
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    1 418
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 1 418
    Par défaut
    Ne te réjouis pas trop vite, je ne connais que Python, je regardais la rubrique “Derniers messages“ et je me suis demandé: n’y a-t-il pas de fonction facilement utilisable pour parcourir un répertoire en JavaScript ?

  5. #5
    Membre chevronné Avatar de guigo
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    612
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 612
    Par défaut
    ca doit bien exister ! Mais j'avoue que c'est l'objet de ma question....
    Je vais essayer de trouver un truc alors. Je post la réponse des que j'ai trouvé :-).

  6. #6
    Membre Expert
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    1 418
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 1 418
    Par défaut
    Je peux essayer de t’aider en cherchant aussi. Ça m’intéresse de découvrir les autres langages.

    Dans quelle doc faut il regarder ?
    Sinon je vais regarder la FAQ et chercher sur Google.

  7. #7
    Membre chevronné Avatar de guigo
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    612
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 612
    Par défaut
    super merci !
    Le javascript yen a un peu partout.... Mais c'est vrai que la faq c'est une tres bonne idée :-)

  8. #8
    Membre chevronné Avatar de guigo
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    612
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 612
    Par défaut
    bon c'est plutot mauvais signe....
    http://www.developpez.net/forums/d82...toire-dimages/

    Je crois que je vais essayer de trouver une solution vers photoshop...

    Merci bcp,
    Guigo

  9. #9
    Membre Expert
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    1 418
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 1 418
    Par défaut
    Il y a ceci dans la FAQ:

    Pour ouvrir une fenêtre affichant le contenu d'un répertoire, il suffit de faire :

    <script type="text/javascript">
    url="file:\\c:/";
    window.open(url);
    </script>

    Mais il est très décevant de lire ajouté:

    Cette astuce ne fonctionne qu'avec IE6 et précédents !

    Et il n’y a rien d’autre sur les répertoires dans le sommaire de la FAQ, ni le mot dossier



    Et en effet, la file dont tu donnes le lien n’est pas réjouissante non plus.

    C’est quoi ce machin de langage qui ne permet même pas de lister le contenu d’un répertoire ?!

    PS
    Auto-réponse:
    JavaScript n’est pas fait pour ça. J’ai lu la présentation de JavaScript dans la FAQ: c’est un langage plus limité que Java et autres langages complets.

    Il ne faut tout simplement pas s’adresser à JavaScript pour faire ce que tu vises , guigo

  10. #10
    Membre chevronné Avatar de guigo
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    612
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 612
    Par défaut
    Le pb c'est que mon javascript est pour photoshop... Effectivement si c'etait pour autre chose, j'aurais choisi un autre language. Mais il me semble que photoshop ne supporte que le .atn ou js

    En tout cas merci et bon week,
    Guigo

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. parcours d'un repertoire
    Par hypothese dans le forum Général JavaScript
    Réponses: 7
    Dernier message: 18/05/2009, 16h42
  2. parcours d'un repertoire limité par *
    Par decksroy dans le forum Linux
    Réponses: 4
    Dernier message: 10/10/2007, 18h12
  3. Parcours de répertoire
    Par thepinguin dans le forum C
    Réponses: 15
    Dernier message: 21/10/2006, 23h23
  4. effectuer un parcours de repertoire ordonné
    Par stross dans le forum Langage
    Réponses: 3
    Dernier message: 07/07/2006, 02h11

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo