1ER OUTIL: Macro photoshop
Cette macro au format javascript vous permet de générer des images photoshop par lots.
- Vous ouvrez votre psd.
- Vous disposez vos calques et objets comme d'habitude.
- Vous modifiez le code en fonction (aidez vous des commentaires).
- Vous disposez le script dans le même dossier que votre psd.
- Vous allez Fichier / Script / Parcourir.
- Vous sélectionnez le script.
- Vous attendez le message de confirmation
EXEMPLE: Obtenu après lecture du fichier Main Menu.xml
// DES VARIABLES
var Path = app.activeDocument.path;
var AD = app.activeDocument;
// VARIABLE NOM DU DOCUMENT
// Utilisée pour déposer les fichiers générés dans le dossier du même nom
var ADname = AD.name.replace(".psd","");
// FONCTION CHANGETEXTBYLAYERNAME
// Utilisée pour remplacer le text du layer par le texte de votre choix
function changeTextByLayerName(layerName,newText){
var layer = AD.layers.getByName(layerName);
if(layer.kind == LayerKind.TEXT)
layer.textItem.contents = newText;
}
// FONCTION CAPTEXT
// Utilisée pour limiter (ou non) la longueur d'une variable en la tronquant.
// On remplace les trois derniers caractères par ...
function capText(oldText,limit){
var newText = "" + oldText;
var newTextLength = newText.length;
if(newTextLength limit)
newText = newText.substr(newText,limit) + "...";
return newText;
}
// CHANGEMENT DU NOM DU FICHIER XML
var monFICHIER = "MAME.xml";
var myXMLFile = new File(Path + "/" + monFICHIER);
myXMLFile.open('r');
var myXMLString = myXMLFile.read();
myXMLFile.close();
var myXml = new XML( myXMLString );
var mesJeux = myXml.descendants("game");
var count = mesJeux.length();
// C'EST ICI QUE CA CE PASSE !
for(var i=0;icount;i++){
var game = {};
// VOS VARIABLES DU JEU
game.name = mesJeux.child(i).@name;
game.index = mesJeux.child(i).@index;
game.image = mesJeux.child(i).@image;
game.desc = mesJeux.child(i)["description"];
game.manu = mesJeux.child(i)["manufacturer"];
game.year = mesJeux.child(i)["year"];
game.genre = mesJeux.child(i)["genre"];
game.rate = mesJeux.child(i)["rating"];
// VOTRE CALQUE
var monCALQUE = "Console2";
changeTextByLayerName(monCALQUE,game.desc);
// ON SAUVEGARDE LE FICHIER
// dossier du psd / nom du psd / nom du jeu.png
var saveFile = File(Path + "/" + ADname + "/" + game.name + ".png");
pngSaveOptions = new PNGSaveOptions();
AD.saveAs(saveFile, pngSaveOptions, true,Extension.LOWERCASE);
}
alert("Bonne journée sur Hyperfreespin !");