Saturday, December 29, 2012

faire/charger/modifier un script photoshop ou indesign (fichier .atn et .jsx javascript) et tous les produits adobe; Exemple pour faire un pavage d'image ou une mosaique d'image ou une matrice d'image ou une grillle d'img. (seamless tiles))

liste des scripts  :

http://www.scriptopedia.org/

------------------------------- (. jsx)
Exemple pour faire un pavage d'image ou une mosaique d'image ou une matrice d'image ou une grillle d'img.

Un script de placement d'images sur un document :
Il faut juste régler les variables de la section "Paramètres".
L'image résultat est créée dans le répertoire qui contient le répertoire des images à rassembler.


Code:

/************************************************************************
                PAVAGE D'UNE IMAGE
 ************************************************************************
 09/06/2012 Habaki V1r02 : Adaptation
 13/02/2012 Habaki V1r01 : Creation
 ************************************************************************/
var jpegOptions     = new JPEGSaveOptions();
/*----------------------------------------------------------------------*
            Parametres
 *----------------------------------------------------------------------*/
jpegOptions.quality    = 12;         // Qualite jpeg
var DocPrefix        = "pavage";    // Prefixe Fichier resultat

var ImgNbH    = 5;        // Nb d'images horizontalement
var ImgNbV    = 10;        // Nb d'images verticalement
var Resolution    = 72;        // Resolution (Pixels/Inch)
var DocH    = 2835;        // Taille horizontale doc resultat (pixels)
var DocV    = 2835;        // Taille verticale   doc resultat (pixels)
var DocMode    = NewDocumentMode.RGB;
var CfgMode    = 0;    // Configuration (OU de flags):
            // 1: Garder les claques, sinon les fusionner
            // 2: Tourner les images paysages
/*----------------------------------------------------------------------*
            Globals
 *----------------------------------------------------------------------*/
var DocMain;        // Document principal
var MailleH;        // Maille horizontale
var MailleV;        // Maille verticale
var ImgNum = 0;        // Numero d'image
/*----------------------------------------------------------------------*
                        Traite un fichier
 *----------------------------------------------------------------------*/
function FileProcess(
        file
        )
{
  var Doc;
  var Sel;
  var Layer;    // calque
  var Coord;
  var V, H, PosX, PosY;
  var RatioH, RatioV;
  
  // Selection fichiers seulement
  if (file instanceof Folder) return(false);
  
  // Copie l'image dans le clipboard
  Doc = open(file);
  Sel = Doc.selection;
  Sel.selectAll();
  Sel.copy();
  Sel.deselect();
  Doc.close(SaveOptions.DONOTSAVECHANGES);
  
  // Coller l'image dans le doc final
  Layer = DocMain.paste();
  Layer.name = "Img" + ++ImgNum; 
  
  // Lecture dimensions
  // Coord: TopLeftX,TopLeftY,BottomRightX, BottomRightY
  Coord = Layer.bounds;
  H = Coord[2] - Coord[0];    // Largeur
  V = Coord[3] - Coord[1];    // Hauteur
  
  if ((CfgMode & 2) && H > V) {
    // Image paysage => Rotation -90
    Layer.rotate(-90, AnchorPosition.MIDDLECENTER);
    Coord = Layer.bounds;
    H = Coord[2] - Coord[0];    // Largeur
    V = Coord[3] - Coord[1];    // Hauteur
  }
  
  // Position destination 
  PosX = MailleH * (((ImgNum-1) % ImgNbH));
  PosY = MailleV * (Math.floor((ImgNum-1) / ImgNbH));
  
  // Dimensionnement dans la maille
  RatioH = MailleH*100 / H;
  RatioV = MailleV*100 / V;
  RatioH = Math.min(RatioH, RatioV);
  if (RatioH != 100) {
    Layer.resize(RatioH, RatioH, AnchorPosition.TOPLEFT);
    Coord = Layer.bounds;
  }
  
  //alert("PosX="+PosX+ ", PosY="+PosY+", X="+Coord[0]+", Y=" + Coord[1]);
  // Deplacement
  PosX -= Math.floor(Coord[0]);
  PosY -= Math.floor(Coord[1]);
  Layer.translate(PosX, PosY);
  
  if ((CfgMode & 1)==0) Layer.merge();    // Fusionner
  return(true);
}
/*----------------------------------------------------------------------*
            Main
 *----------------------------------------------------------------------*/
var RulerUnits = preferences.rulerUnits;
preferences.rulerUnits = Units.PIXELS;
try{
  var MainPath = prompt("Repertoire a traiter ?", "/c/images/photoshop/scripts/grille/imgs");
  var MainDir  = File(MainPath);
  var DocName  = DocPrefix + "_" + MainDir.name;
  
  // Creation document resultat
  MailleH = DocH / ImgNbH;
  MailleV = DocV / ImgNbV;
  
  // Units: bpi
  DocMain = app.documents.add(DocH, DocV, Resolution, DocName
                              ,DocMode
                              ,DocumentFill.WHITE
                              );
  
  // Scan all files in MainDir
  MainDir.getFiles(FileProcess);
  
  // Sauvegarde
  DocMain.saveAs(new File(MainDir.path + "/"
                          + "/" + DocName + ".jpg"), 
                          jpegOptions, true);
  
} catch(ex) {
  alert(ex.message)
}
preferences.rulerUnits = RulerUnits;
alert("Fini");
 
 
 
 
 
 
 
------------------------------------------
http://habaki.over-blog.com/pages/Placement_dImages_sur_une_Grille--7866603.html
 
 script plus complet
Ce script permet de placer un ensemble d'images selon une grille sur un fond d'une taille donnée.

/************************************************************************
                PAVAGE des IMAGES d'un REPERTOIRE sur une GRILLE
 ************************************************************************
 Les images JPG d'un repertoire sont disposes en grille sur un document
 qui est sauvegarde en JPG.
 ************************************************************************
 10/06/2012 Habaki V1r03 : Ajout des marges, gaps et qq configs
 09/06/2012 Habaki V1r02 : Adaptation
 13/02/2012 Habaki V1r01 : Creation
 ************************************************************************/
var jpegOptions  = new JPEGSaveOptions();
/*----------------------------------------------------------------------*
   Parametres
 *----------------------------------------------------------------------*/
jpegOptions.quality = 12;   // Qualite jpeg
var DocPrefix  = "pavage"; // Prefixe Fichier resultat
var ImgNbH = 5;  // Nb d'images horizontalement
var ImgNbV = 3;  // Nb d'images verticalement
var Resolution = 72;  // Resolution (Pixels/Inch)
var DocH = 1000;       // Taille horizontale doc resultat (pixels)
var DocV = DocH*3/5;  // Taille verticale   doc resultat (pixels)
var DocMode = NewDocumentMode.RGB;
//var DocColor = DocumentFill.WHITE;
var DocColor = DocumentFill.BACKGROUNDCOLOR;
var MarginH = 50;  // Marge horizontale (pixels)
var MarginV = 50;  // Marge verticale   (pixels)
var GapH = 10;  // Separation horizontale entre images (pixels)
var GapV = 20;  // Separation verticale   entre images (pixels)
var CfgMode = 0; // Configuration (OU de flags):
   // 1: Garder les calques, sinon les fusionner
   // 2: Tourner les images paysages
   // 4: Centrer les images dans la maille
/*----------------------------------------------------------------------*
   Globals
 *----------------------------------------------------------------------*/
var DocMain;  // Document principal
var MailleH;  // Maille horizontale
var MailleV;  // Maille verticale
var ImgNum = 0;  // Numero d'image
/*----------------------------------------------------------------------*
                        Traite un fichier
 *----------------------------------------------------------------------*/
function FileProcess(
        file
        )
{
  var Doc;
  var Sel;
  var Layer; // calque
  var Coord;
  var V, H, PosX, PosY;
  var RatioH, RatioV;
  var St;

  // Selection fichiers seulement
  if (file instanceof Folder) return(false);
  St = file.name.toLowerCase();
  // Selection .jpg seulement
  if (St.lastIndexOf(".jpg") != St.length-4) return(false);
  // Feuille remplie
  if (ImgNum >= ImgNbH * ImgNbV) return(false);

  // Copie l'image dans le clipboard
  Doc = open(file);
  Sel = Doc.selection;
  Sel.selectAll();
  Sel.copy();
  Sel.deselect();
  Doc.close(SaveOptions.DONOTSAVECHANGES);

  // Coller l'image dans le doc final
  Layer = DocMain.paste();
  Layer.name = "Img" + ++ImgNum;

  // Lecture dimensions
  // Coord: TopLeftX,TopLeftY,BottomRightX, BottomRightY
  Coord = Layer.bounds;
  H = Coord[2] - Coord[0]; // Largeur
  V = Coord[3] - Coord[1]; // Hauteur

  if ((CfgMode & 2) && H > V) {
    // Image paysage => Rotation -90
    Layer.rotate(-90, AnchorPosition.MIDDLECENTER);
    Coord = Layer.bounds;
    H = Coord[2] - Coord[0]; // Largeur
    V = Coord[3] - Coord[1]; // Hauteur
  }

  // Position destination
  PosX = MarginH + (MailleH + GapH)* (((ImgNum-1) % ImgNbH));
  PosY = MarginV + (MailleV + GapV)* (Math.floor((ImgNum-1) / ImgNbH));

  // Dimensionnement dans la maille
  RatioH = MailleH*100 / H;
  RatioV = MailleV*100 / V;
  RatioH = Math.min(RatioH, RatioV);
  if (RatioH != 100) {
    Layer.resize(RatioH, RatioH, AnchorPosition.TOPLEFT);
    Coord = Layer.bounds;
    H = Coord[2] - Coord[0]; // Largeur
    V = Coord[3] - Coord[1]; // Hauteur
  }
  if (CfgMode & 4) {
    // Centrage
    PosX += (MailleH-Math.floor(H))/2;
    PosY += (MailleV-Math.floor(V))/2;
  }

  //alert("PosX="+PosX+ ", PosY="+PosY+", X="+Coord[0]+", Y=" + Coord[1]);
  // Deplacement
  PosX -= Math.floor(Coord[0]);
  PosY -= Math.floor(Coord[1]);
  Layer.translate(PosX, PosY);

  if ((CfgMode & 1)==0) Layer.merge(); // Fusionner
  return(true);
}
/*----------------------------------------------------------------------*
   Main
 *----------------------------------------------------------------------*/
var RulerUnits = preferences.rulerUnits;
preferences.rulerUnits = Units.PIXELS;
try{
  var MainPath;
  var MainDir;
  var DocName;
  var BL;
  var DefaultDir;

  DefaultDir = (new File($.fileName)).path;
  MainDir = Folder(DefaultDir).selectDlg("Repertoire a traiter ?");
  DocName  = DocPrefix + "_" + MainDir.name;

  // Cadre pour chaque image
  MailleH = (DocH - 2*MarginH - (ImgNbH-1)*GapH) / ImgNbH;
  MailleV = (DocV - 2*MarginV - (ImgNbV-1)*GapV) / ImgNbV;

  // Units: bpi
  // Creation document resultat
  DocMain = app.documents.add(DocH, DocV, Resolution, DocName
                              ,DocMode
                              ,DocColor
                              );
  DocMain.activeLayer.name = "Fond";

  // Scan all files in MainDir
  MainDir.getFiles(FileProcess);

  // Sauvegarde
  DocMain.saveAs(new File(MainDir.path + "/"
                          + "/" + DocName + ".jpg"),
                          jpegOptions, true);

} catch(ex) {
  alert(ex.message)
}
preferences.rulerUnits = RulerUnits;
//alert("Fini");


 
Les images sont redimensionnées et éventuellement retournées.  
Il est possible de règler les marges, le centrage et les espaces entre images. 
Toutes les valeurs modifiables se trouvent rassemblées dans la section "Parametres", mais ce script sert aussi de base pour d'autres scripts nécessitant des placements d'images plus spécifiques. 
---------------

Voici comment charger les scripts dans la palette Photoshop®.


Etape 1 :

Dans un premier temps, vous devez afficher la palette des scripts: cliquez sur
fenêtre puis sur "afficher scripts".


Etape 2 :

Allez dans la palette des scripts et cliquez sur la flèche en noir en
haut à droite, un menu apparait.Cliquez sur "charger les scripts".

Etape 3 :

Sélectionnez un script que vous aurez préalablement télécharger
et mis dans un dossier. Cliquez sur Ok.

c-a-d: aller rechercher le fichier .atn que vous venez de télécharger, puis valider. Magique : le groupe de scripts apparaît dans la palette

Etape 4 :

Votre script apparait dans la palette, sélectionnez-le et cliquez sur
le bouton "lecture" pour qu'il s'exécute.

---------------




autre méthode:
enregistrez les fichiers dans le répertoire désiré (je conseille le chemin d’accès des actions Photoshop, soit C:\Program Files\Adobe\Adobe Photoshop CS2\Presets\Photoshop Actions !  
-------------
 POUR CREER UN SCRIPT ATN  appelant un script.jsx
http://a.themes.free.fr/SCRIPTSjsx/TutoScriptAtnJsx.html 


Le fichier javascript est un fichier texte avec l extension .JSX - placez le dans "C:\Program Files\Adobe\Adobe Photoshop CS2\Paramètres prédéfinis\Scripts" .
 
-------------

C'est quoi un script .atn sur Photoshop ?

Un script est un ensemble d'actions pré-enregistrées qui s'exécutent automatiquement.
Pour ouvrir la console, Fenêtre => Scripts ou Alt + F9

 -----------
http://www.siteduzero.com/tutoriel-3-36731-les-scripts-sous-photoshop.html 
 
 -------
ref: http://forum.photoshop-school.org/ftopic10309.php 
 
 ---------------------------------------------------------
 autres:
 
 plug-in
 
 
 
 
http://www.adobe.com/support/downloads/product.jsp?product=39&platform=Macintosh 
 
--------
http://smashinghub.com/25-best-photoshop-cs6-tutorials.htm 

No comments:

Post a Comment