I've had very little luck trying to search this forum, it keeps telling me I'm using too common of words.
I would like to create a gui that would give me place to add, say four layers of text that could be typed into a box.
Script would start by opening a box that had four spaces to type in info, one layer to a box, if one box is empty then it would not create that layer.
Font size and color could then be changed when the layers are created on the photo. Is this even possible? I've done a little scripting, but don't even know
how to begin this one.
example
Thanks,
Dick
add text layors
add text layors
Here is one example, it does need to have a document open!
Code: Select all#target photoshop
main();
function main(){
if(!documents.length) return;
var win = new Window('dialog','Text Demo');
win.pnl1 = win.add('panel', undefined, undefined, {borderStyle:"black"});
win.grp5 = win.pnl1.add('group');
win.grp5.st1 = win.grp5.add('statictext',undefined,'Add Text Layers');
win.grp5.st1.graphics.font = ScriptUI.newFont("Georgia","BOLDITALIC",22);
win.grp10 = win.pnl1.add('group');
win.grp10.st1 = win.grp10.add('statictext',undefined,'Layer 1');
win.grp10.et1 = win.grp10.add('edittext');
win.grp10.et1.preferredSize=[400,20];
win.grp11 = win.pnl1.add('group');
win.grp11.st1 = win.grp11.add('statictext',undefined,'Layer 2');
win.grp11.et1 = win.grp11.add('edittext');
win.grp11.et1.preferredSize=[400,20];
win.grp12 = win.pnl1.add('group');
win.grp12.st1 = win.grp12.add('statictext',undefined,'Layer 3');
win.grp12.et1 = win.grp12.add('edittext');
win.grp12.et1.preferredSize=[400,20];
win.grp13 = win.pnl1.add('group');
win.grp13.st1 = win.grp13.add('statictext',undefined,'Layer 4');
win.grp13.et1 = win.grp13.add('edittext');
win.grp13.et1.preferredSize=[400,20];
win.grp14 = win.pnl1.add('group');
win.grp14.bu1 = win.grp14.add('button',undefined,'Process');
win.grp14.bu2 = win.grp14.add('button',undefined,'Cancel');
win.grp14.bu1.onClick = function(){
win.close(1);
if(win.grp10.et1.text != ''){
addtTextLayer(win.grp10.et1.text,18, 'My Layer 1');
}
if(win.grp11.et1.text != ''){
addtTextLayer(win.grp11.et1.text,18, 'My Layer 2');
}
if(win.grp12.et1.text != ''){
addtTextLayer(win.grp12.et1.text,18, 'My Layer 3');
}
if(win.grp13.et1.text != ''){
addtTextLayer(win.grp13.et1.text,18, 'My Layer 4');
}
}
win.center();
win.show();
}
function addtTextLayer(Contents,fontSize, layerName){
var textColor = new SolidColor();
textColor.rgb.red = 0;
textColor.rgb.green =0;
textColor.rgb.blue = 0;
var newTextLayer = activeDocument.artLayers.add();
newTextLayer.kind = LayerKind.TEXT;
newTextLayer.name = layerName;
newTextLayer.textItem.kind = TextType.POINTTEXT
newTextLayer.textItem.color = textColor;
newTextLayer.textItem.font = 'Georgia';
newTextLayer.textItem.size = fontSize;
newTextLayer.textItem.contents = Contents;
}
Code: Select all#target photoshop
main();
function main(){
if(!documents.length) return;
var win = new Window('dialog','Text Demo');
win.pnl1 = win.add('panel', undefined, undefined, {borderStyle:"black"});
win.grp5 = win.pnl1.add('group');
win.grp5.st1 = win.grp5.add('statictext',undefined,'Add Text Layers');
win.grp5.st1.graphics.font = ScriptUI.newFont("Georgia","BOLDITALIC",22);
win.grp10 = win.pnl1.add('group');
win.grp10.st1 = win.grp10.add('statictext',undefined,'Layer 1');
win.grp10.et1 = win.grp10.add('edittext');
win.grp10.et1.preferredSize=[400,20];
win.grp11 = win.pnl1.add('group');
win.grp11.st1 = win.grp11.add('statictext',undefined,'Layer 2');
win.grp11.et1 = win.grp11.add('edittext');
win.grp11.et1.preferredSize=[400,20];
win.grp12 = win.pnl1.add('group');
win.grp12.st1 = win.grp12.add('statictext',undefined,'Layer 3');
win.grp12.et1 = win.grp12.add('edittext');
win.grp12.et1.preferredSize=[400,20];
win.grp13 = win.pnl1.add('group');
win.grp13.st1 = win.grp13.add('statictext',undefined,'Layer 4');
win.grp13.et1 = win.grp13.add('edittext');
win.grp13.et1.preferredSize=[400,20];
win.grp14 = win.pnl1.add('group');
win.grp14.bu1 = win.grp14.add('button',undefined,'Process');
win.grp14.bu2 = win.grp14.add('button',undefined,'Cancel');
win.grp14.bu1.onClick = function(){
win.close(1);
if(win.grp10.et1.text != ''){
addtTextLayer(win.grp10.et1.text,18, 'My Layer 1');
}
if(win.grp11.et1.text != ''){
addtTextLayer(win.grp11.et1.text,18, 'My Layer 2');
}
if(win.grp12.et1.text != ''){
addtTextLayer(win.grp12.et1.text,18, 'My Layer 3');
}
if(win.grp13.et1.text != ''){
addtTextLayer(win.grp13.et1.text,18, 'My Layer 4');
}
}
win.center();
win.show();
}
function addtTextLayer(Contents,fontSize, layerName){
var textColor = new SolidColor();
textColor.rgb.red = 0;
textColor.rgb.green =0;
textColor.rgb.blue = 0;
var newTextLayer = activeDocument.artLayers.add();
newTextLayer.kind = LayerKind.TEXT;
newTextLayer.name = layerName;
newTextLayer.textItem.kind = TextType.POINTTEXT
newTextLayer.textItem.color = textColor;
newTextLayer.textItem.font = 'Georgia';
newTextLayer.textItem.size = fontSize;
newTextLayer.textItem.contents = Contents;
}
add text layors
Also you can find more info about creating dialogs in the Javascript Tools Guide that ships with Photoshop. You should be able to find it in the ExtendScript Toolkit SDK folder.
The section about dialogs is User-Interface Tools.
The section about dialogs is User-Interface Tools.
add text layors
Hello Mike Hale
Excuse me ....
This may be better off with adjustable positioning layers ?
Like this :
Code: Select all#target photoshop
Large = parseFloat(app.activeDocument.width);
Haut = parseFloat(app.activeDocument.height );
Large1 = 5*Large/100;
Haut1 = 5*Haut/100;
Large2 = 55*Large/100;
Haut2 = 5*Haut/100;
Large3 = 5*Large/100;
Haut3 = 95*Haut/100;
Large4 = 55*Large/100;
Haut4 = 95*Haut/100;
main();
function main(){
if(!documents.length) return;
var win = new Window('dialog','Text Demo');
win.pnl1 = win.add('panel', undefined, undefined, {borderStyle:"black"});
win.grp5 = win.pnl1.add('group');
win.grp5.st1 = win.grp5.add('statictext',undefined,'Add Text Layers');
win.grp5.st1.graphics.font = ScriptUI.newFont("Georgia","BOLDITALIC",22);
win.grp10 = win.pnl1.add('group');
win.grp10.st1 = win.grp10.add('statictext',undefined,'Layer 1');
win.grp10.et1 = win.grp10.add('edittext');
win.grp10.et1.preferredSize=[400,20];
win.grp11 = win.pnl1.add('group');
win.grp11.st1 = win.grp11.add('statictext',undefined,'Layer 2');
win.grp11.et1 = win.grp11.add('edittext');
win.grp11.et1.preferredSize=[400,20];
win.grp12 = win.pnl1.add('group');
win.grp12.st1 = win.grp12.add('statictext',undefined,'Layer 3');
win.grp12.et1 = win.grp12.add('edittext');
win.grp12.et1.preferredSize=[400,20];
win.grp13 = win.pnl1.add('group');
win.grp13.st1 = win.grp13.add('statictext',undefined,'Layer 4');
win.grp13.et1 = win.grp13.add('edittext');
win.grp13.et1.preferredSize=[400,20];
win.grp14 = win.pnl1.add('group');
win.grp14.bu1 = win.grp14.add('button',undefined,'Process');
win.grp14.bu2 = win.grp14.add('button',undefined,'Cancel');
win.grp14.bu1.onClick = function(){
win.close(1);
if(win.grp10.et1.text != ''){
addtTextLayer(win.grp10.et1.text,18, 'My Layer 1', Large1, Haut1);
}
if(win.grp11.et1.text != ''){
addtTextLayer(win.grp11.et1.text,18, 'My Layer 2', Large2, Haut2);
}
if(win.grp12.et1.text != ''){
addtTextLayer(win.grp12.et1.text,18, 'My Layer 3', Large3, Haut3);
}
if(win.grp13.et1.text != ''){
addtTextLayer(win.grp13.et1.text,18, 'My Layer 4', Large4, Haut4);
}
}
win.center();
win.show();
}
function addtTextLayer(Contents,fontSize, layerName, PositionX, PositionY){
var textColor = new SolidColor();
textColor.rgb.red = 0;
textColor.rgb.green =0;
textColor.rgb.blue = 0;
var newTextLayer = activeDocument.artLayers.add();
newTextLayer.kind = LayerKind.TEXT;
newTextLayer.name = layerName;
newTextLayer.textItem.kind = TextType.POINTTEXT
newTextLayer.textItem.color = textColor;
newTextLayer.textItem.font = 'Georgia';
newTextLayer.textItem.size = fontSize;
newTextLayer.textItem.position = Array( PositionX, PositionY );
newTextLayer.textItem.contents = Contents;
}
Excuse me ....
This may be better off with adjustable positioning layers ?
Like this :
Code: Select all#target photoshop
Large = parseFloat(app.activeDocument.width);
Haut = parseFloat(app.activeDocument.height );
Large1 = 5*Large/100;
Haut1 = 5*Haut/100;
Large2 = 55*Large/100;
Haut2 = 5*Haut/100;
Large3 = 5*Large/100;
Haut3 = 95*Haut/100;
Large4 = 55*Large/100;
Haut4 = 95*Haut/100;
main();
function main(){
if(!documents.length) return;
var win = new Window('dialog','Text Demo');
win.pnl1 = win.add('panel', undefined, undefined, {borderStyle:"black"});
win.grp5 = win.pnl1.add('group');
win.grp5.st1 = win.grp5.add('statictext',undefined,'Add Text Layers');
win.grp5.st1.graphics.font = ScriptUI.newFont("Georgia","BOLDITALIC",22);
win.grp10 = win.pnl1.add('group');
win.grp10.st1 = win.grp10.add('statictext',undefined,'Layer 1');
win.grp10.et1 = win.grp10.add('edittext');
win.grp10.et1.preferredSize=[400,20];
win.grp11 = win.pnl1.add('group');
win.grp11.st1 = win.grp11.add('statictext',undefined,'Layer 2');
win.grp11.et1 = win.grp11.add('edittext');
win.grp11.et1.preferredSize=[400,20];
win.grp12 = win.pnl1.add('group');
win.grp12.st1 = win.grp12.add('statictext',undefined,'Layer 3');
win.grp12.et1 = win.grp12.add('edittext');
win.grp12.et1.preferredSize=[400,20];
win.grp13 = win.pnl1.add('group');
win.grp13.st1 = win.grp13.add('statictext',undefined,'Layer 4');
win.grp13.et1 = win.grp13.add('edittext');
win.grp13.et1.preferredSize=[400,20];
win.grp14 = win.pnl1.add('group');
win.grp14.bu1 = win.grp14.add('button',undefined,'Process');
win.grp14.bu2 = win.grp14.add('button',undefined,'Cancel');
win.grp14.bu1.onClick = function(){
win.close(1);
if(win.grp10.et1.text != ''){
addtTextLayer(win.grp10.et1.text,18, 'My Layer 1', Large1, Haut1);
}
if(win.grp11.et1.text != ''){
addtTextLayer(win.grp11.et1.text,18, 'My Layer 2', Large2, Haut2);
}
if(win.grp12.et1.text != ''){
addtTextLayer(win.grp12.et1.text,18, 'My Layer 3', Large3, Haut3);
}
if(win.grp13.et1.text != ''){
addtTextLayer(win.grp13.et1.text,18, 'My Layer 4', Large4, Haut4);
}
}
win.center();
win.show();
}
function addtTextLayer(Contents,fontSize, layerName, PositionX, PositionY){
var textColor = new SolidColor();
textColor.rgb.red = 0;
textColor.rgb.green =0;
textColor.rgb.blue = 0;
var newTextLayer = activeDocument.artLayers.add();
newTextLayer.kind = LayerKind.TEXT;
newTextLayer.name = layerName;
newTextLayer.textItem.kind = TextType.POINTTEXT
newTextLayer.textItem.color = textColor;
newTextLayer.textItem.font = 'Georgia';
newTextLayer.textItem.size = fontSize;
newTextLayer.textItem.position = Array( PositionX, PositionY );
newTextLayer.textItem.contents = Contents;
}
add text layors
Many thanks to both of you, I can now make the modifications that I need to speed up my work flow at events.
Is there a way to center the center of a line of text on the picture?
Is there a way to center the center of a line of text on the picture?
add text layors
changes in lines and 11 12 13 and 76 77 78 for My Layer 3
Code: Select all#target photoshop
Large = parseFloat(app.activeDocument.width);
Haut = parseFloat(app.activeDocument.height );
Large1 = 5*Large/100;
Haut1 = 5*Haut/100;
Large2 = 55*Large/100;
Haut2 = 5*Haut/100;
//Pour le centrage de Layer 3
Large3 = Large/2;
Haut3 = Haut/2 - 9 ; // 9 = fontsize/2
Large4 = 55*Large/100;
Haut4 = 95*Haut/100;
main();
function main(){
if(!documents.length) return;
var win = new Window('dialog','Text Demo');
win.pnl1 = win.add('panel', undefined, undefined, {borderStyle:"black"});
win.grp5 = win.pnl1.add('group');
win.grp5.st1 = win.grp5.add('statictext',undefined,'Add Text Layers');
win.grp5.st1.graphics.font = ScriptUI.newFont("Georgia","BOLDITALIC",22);
win.grp10 = win.pnl1.add('group');
win.grp10.st1 = win.grp10.add('statictext',undefined,'Layer 1');
win.grp10.et1 = win.grp10.add('edittext');
win.grp10.et1.preferredSize=[400,20];
win.grp11 = win.pnl1.add('group');
win.grp11.st1 = win.grp11.add('statictext',undefined,'Layer 2');
win.grp11.et1 = win.grp11.add('edittext');
win.grp11.et1.preferredSize=[400,20];
win.grp12 = win.pnl1.add('group');
win.grp12.st1 = win.grp12.add('statictext',undefined,'Layer 3');
win.grp12.et1 = win.grp12.add('edittext');
win.grp12.et1.preferredSize=[400,20];
win.grp13 = win.pnl1.add('group');
win.grp13.st1 = win.grp13.add('statictext',undefined,'Layer 4');
win.grp13.et1 = win.grp13.add('edittext');
win.grp13.et1.preferredSize=[400,20];
win.grp14 = win.pnl1.add('group');
win.grp14.bu1 = win.grp14.add('button',undefined,'Process');
win.grp14.bu2 = win.grp14.add('button',undefined,'Cancel');
win.grp14.bu1.onClick = function(){
win.close(1);
if(win.grp10.et1.text != ''){
addtTextLayer(win.grp10.et1.text,18, 'My Layer 1', Large1, Haut1);
}
if(win.grp11.et1.text != ''){
addtTextLayer(win.grp11.et1.text,18, 'My Layer 2', Large2, Haut2);
}
if(win.grp12.et1.text != ''){
addtTextLayer(win.grp12.et1.text,18, 'My Layer 3', Large3, Haut3);
}
if(win.grp13.et1.text != ''){
addtTextLayer(win.grp13.et1.text,18, 'My Layer 4', Large4, Haut4);
}
}
win.center();
win.show();
}
function addtTextLayer(Contents,fontSize, layerName, PositionX, PositionY){
var textColor = new SolidColor();
textColor.rgb.red = 0;
textColor.rgb.green =0;
textColor.rgb.blue = 0;
var newTextLayer = activeDocument.artLayers.add();
newTextLayer.kind = LayerKind.TEXT;
newTextLayer.name = layerName;
newTextLayer.textItem.kind = TextType.POINTTEXT;
newTextLayer.textItem.color = textColor;
//newTextLayer.textItem.justification = Justification.CENTERJUSTIFIED;
newTextLayer.textItem.font = 'Georgia';
newTextLayer.textItem.size = fontSize;
newTextLayer.textItem.contents = Contents;
var Centrage = newTextLayer.textItem.contents.length*9/2; //Ajout pour centrer
newTextLayer.textItem.position = Array( PositionX - Centrage , PositionY );
}
Code: Select all#target photoshop
Large = parseFloat(app.activeDocument.width);
Haut = parseFloat(app.activeDocument.height );
Large1 = 5*Large/100;
Haut1 = 5*Haut/100;
Large2 = 55*Large/100;
Haut2 = 5*Haut/100;
//Pour le centrage de Layer 3
Large3 = Large/2;
Haut3 = Haut/2 - 9 ; // 9 = fontsize/2
Large4 = 55*Large/100;
Haut4 = 95*Haut/100;
main();
function main(){
if(!documents.length) return;
var win = new Window('dialog','Text Demo');
win.pnl1 = win.add('panel', undefined, undefined, {borderStyle:"black"});
win.grp5 = win.pnl1.add('group');
win.grp5.st1 = win.grp5.add('statictext',undefined,'Add Text Layers');
win.grp5.st1.graphics.font = ScriptUI.newFont("Georgia","BOLDITALIC",22);
win.grp10 = win.pnl1.add('group');
win.grp10.st1 = win.grp10.add('statictext',undefined,'Layer 1');
win.grp10.et1 = win.grp10.add('edittext');
win.grp10.et1.preferredSize=[400,20];
win.grp11 = win.pnl1.add('group');
win.grp11.st1 = win.grp11.add('statictext',undefined,'Layer 2');
win.grp11.et1 = win.grp11.add('edittext');
win.grp11.et1.preferredSize=[400,20];
win.grp12 = win.pnl1.add('group');
win.grp12.st1 = win.grp12.add('statictext',undefined,'Layer 3');
win.grp12.et1 = win.grp12.add('edittext');
win.grp12.et1.preferredSize=[400,20];
win.grp13 = win.pnl1.add('group');
win.grp13.st1 = win.grp13.add('statictext',undefined,'Layer 4');
win.grp13.et1 = win.grp13.add('edittext');
win.grp13.et1.preferredSize=[400,20];
win.grp14 = win.pnl1.add('group');
win.grp14.bu1 = win.grp14.add('button',undefined,'Process');
win.grp14.bu2 = win.grp14.add('button',undefined,'Cancel');
win.grp14.bu1.onClick = function(){
win.close(1);
if(win.grp10.et1.text != ''){
addtTextLayer(win.grp10.et1.text,18, 'My Layer 1', Large1, Haut1);
}
if(win.grp11.et1.text != ''){
addtTextLayer(win.grp11.et1.text,18, 'My Layer 2', Large2, Haut2);
}
if(win.grp12.et1.text != ''){
addtTextLayer(win.grp12.et1.text,18, 'My Layer 3', Large3, Haut3);
}
if(win.grp13.et1.text != ''){
addtTextLayer(win.grp13.et1.text,18, 'My Layer 4', Large4, Haut4);
}
}
win.center();
win.show();
}
function addtTextLayer(Contents,fontSize, layerName, PositionX, PositionY){
var textColor = new SolidColor();
textColor.rgb.red = 0;
textColor.rgb.green =0;
textColor.rgb.blue = 0;
var newTextLayer = activeDocument.artLayers.add();
newTextLayer.kind = LayerKind.TEXT;
newTextLayer.name = layerName;
newTextLayer.textItem.kind = TextType.POINTTEXT;
newTextLayer.textItem.color = textColor;
//newTextLayer.textItem.justification = Justification.CENTERJUSTIFIED;
newTextLayer.textItem.font = 'Georgia';
newTextLayer.textItem.size = fontSize;
newTextLayer.textItem.contents = Contents;
var Centrage = newTextLayer.textItem.contents.length*9/2; //Ajout pour centrer
newTextLayer.textItem.position = Array( PositionX - Centrage , PositionY );
}
add text layors
txuku,
Thanks for your help, I've played with the latest you posted, when I run it, it creates the text layers, but there is nothing on them. When I play around with settings, I can get close, then I have to manually move things around to to get centered.
This is what I am striving for. Fonts and color can be changed at any time.
Thanks again,
Dick
Thanks for your help, I've played with the latest you posted, when I run it, it creates the text layers, but there is nothing on them. When I play around with settings, I can get close, then I have to manually move things around to to get centered.
This is what I am striving for. Fonts and color can be changed at any time.
Thanks again,
Dick
add text layors
I work with CS4 it seems to work:
Code: Select all#target photoshop
Large = parseFloat(app.activeDocument.width);
Haut = parseFloat(app.activeDocument.height);
var reglageFont = 18; // si image = 1000x667 fontsize = 18
var reglageEcartTextes = 3; //ecart en hauteur entre textes si image = 1000x667 : 3 px + 18 px ( tailleFont )
if(Haut < Large) { var tailleFont = (Large/1000)*reglageFont; var ecartTextes = (Large/1000)*reglageEcartTextes + tailleFont;};
else { var tailleFont = (Haut/1000)*reglageFont; var ecartTextes = (Haut/1000)*reglageEcartTextes + tailleFont; };
Haut4 = Haut - tailleFont;// ou un poucentage de la hauteur ex : 95/100*Haut
Haut3 = Haut4 - ecartTextes;
Haut2 = Haut3 - ecartTextes;
Haut1 = Haut2 - ecartTextes;
main();
function main(){
if(!documents.length) return;
var win = new Window('dialog','Text Demo');
win.pnl1 = win.add('panel', undefined, undefined, {borderStyle:"black"});
win.grp5 = win.pnl1.add('group');
win.grp5.st1 = win.grp5.add('statictext',undefined,'Add Text Layers');
win.grp5.st1.graphics.font = ScriptUI.newFont("Georgia","BOLDITALIC",22);
win.grp10 = win.pnl1.add('group');
win.grp10.st1 = win.grp10.add('statictext',undefined,'Layer 1');
win.grp10.et1 = win.grp10.add('edittext');
win.grp10.et1.preferredSize=[400,20];
win.grp11 = win.pnl1.add('group');
win.grp11.st1 = win.grp11.add('statictext',undefined,'Layer 2');
win.grp11.et1 = win.grp11.add('edittext');
win.grp11.et1.preferredSize=[400,20];
win.grp12 = win.pnl1.add('group');
win.grp12.st1 = win.grp12.add('statictext',undefined,'Layer 3');
win.grp12.et1 = win.grp12.add('edittext');
win.grp12.et1.preferredSize=[400,20];
win.grp13 = win.pnl1.add('group');
win.grp13.st1 = win.grp13.add('statictext',undefined,'Layer 4');
win.grp13.et1 = win.grp13.add('edittext');
win.grp13.et1.preferredSize=[400,20];
win.grp14 = win.pnl1.add('group');
win.grp14.bu1 = win.grp14.add('button',undefined,'Process');
win.grp14.bu2 = win.grp14.add('button',undefined,'Cancel');
win.grp14.bu1.onClick = function(){
win.close(1);
if(win.grp10.et1.text != ''){
addtTextLayer(win.grp10.et1.text,tailleFont, 'My Layer 1', Large/2, Haut1);
}
if(win.grp11.et1.text != ''){
addtTextLayer(win.grp11.et1.text,tailleFont, 'My Layer 2', Large/2, Haut2);
}
if(win.grp12.et1.text != ''){
addtTextLayer(win.grp12.et1.text,tailleFont, 'My Layer 3', Large/2, Haut3);
}
if(win.grp13.et1.text != ''){
addtTextLayer(win.grp13.et1.text,tailleFont, 'My Layer 4', Large/2, Haut4);
}
}
win.center();
win.show();
}
function addtTextLayer(Contents,fontSize, layerName, PositionX, PositionY){
var textColor = new SolidColor();
textColor.rgb.red = 0;
textColor.rgb.green =0;
textColor.rgb.blue = 0;
var newTextLayer = activeDocument.artLayers.add();
newTextLayer.kind = LayerKind.TEXT;
newTextLayer.name = layerName;
newTextLayer.textItem.kind = TextType.POINTTEXT;
newTextLayer.textItem.color = textColor;
newTextLayer.textItem.font = 'Georgia';
newTextLayer.textItem.size = fontSize;
newTextLayer.textItem.contents = Contents;
var Centrage = parseFloat(newTextLayer.textItem.contents.length)*fontSize/4; //Ajout pour centrer
newTextLayer.textItem.position = Array( PositionX - Centrage, PositionY );
}
Code: Select all#target photoshop
Large = parseFloat(app.activeDocument.width);
Haut = parseFloat(app.activeDocument.height);
var reglageFont = 18; // si image = 1000x667 fontsize = 18
var reglageEcartTextes = 3; //ecart en hauteur entre textes si image = 1000x667 : 3 px + 18 px ( tailleFont )
if(Haut < Large) { var tailleFont = (Large/1000)*reglageFont; var ecartTextes = (Large/1000)*reglageEcartTextes + tailleFont;};
else { var tailleFont = (Haut/1000)*reglageFont; var ecartTextes = (Haut/1000)*reglageEcartTextes + tailleFont; };
Haut4 = Haut - tailleFont;// ou un poucentage de la hauteur ex : 95/100*Haut
Haut3 = Haut4 - ecartTextes;
Haut2 = Haut3 - ecartTextes;
Haut1 = Haut2 - ecartTextes;
main();
function main(){
if(!documents.length) return;
var win = new Window('dialog','Text Demo');
win.pnl1 = win.add('panel', undefined, undefined, {borderStyle:"black"});
win.grp5 = win.pnl1.add('group');
win.grp5.st1 = win.grp5.add('statictext',undefined,'Add Text Layers');
win.grp5.st1.graphics.font = ScriptUI.newFont("Georgia","BOLDITALIC",22);
win.grp10 = win.pnl1.add('group');
win.grp10.st1 = win.grp10.add('statictext',undefined,'Layer 1');
win.grp10.et1 = win.grp10.add('edittext');
win.grp10.et1.preferredSize=[400,20];
win.grp11 = win.pnl1.add('group');
win.grp11.st1 = win.grp11.add('statictext',undefined,'Layer 2');
win.grp11.et1 = win.grp11.add('edittext');
win.grp11.et1.preferredSize=[400,20];
win.grp12 = win.pnl1.add('group');
win.grp12.st1 = win.grp12.add('statictext',undefined,'Layer 3');
win.grp12.et1 = win.grp12.add('edittext');
win.grp12.et1.preferredSize=[400,20];
win.grp13 = win.pnl1.add('group');
win.grp13.st1 = win.grp13.add('statictext',undefined,'Layer 4');
win.grp13.et1 = win.grp13.add('edittext');
win.grp13.et1.preferredSize=[400,20];
win.grp14 = win.pnl1.add('group');
win.grp14.bu1 = win.grp14.add('button',undefined,'Process');
win.grp14.bu2 = win.grp14.add('button',undefined,'Cancel');
win.grp14.bu1.onClick = function(){
win.close(1);
if(win.grp10.et1.text != ''){
addtTextLayer(win.grp10.et1.text,tailleFont, 'My Layer 1', Large/2, Haut1);
}
if(win.grp11.et1.text != ''){
addtTextLayer(win.grp11.et1.text,tailleFont, 'My Layer 2', Large/2, Haut2);
}
if(win.grp12.et1.text != ''){
addtTextLayer(win.grp12.et1.text,tailleFont, 'My Layer 3', Large/2, Haut3);
}
if(win.grp13.et1.text != ''){
addtTextLayer(win.grp13.et1.text,tailleFont, 'My Layer 4', Large/2, Haut4);
}
}
win.center();
win.show();
}
function addtTextLayer(Contents,fontSize, layerName, PositionX, PositionY){
var textColor = new SolidColor();
textColor.rgb.red = 0;
textColor.rgb.green =0;
textColor.rgb.blue = 0;
var newTextLayer = activeDocument.artLayers.add();
newTextLayer.kind = LayerKind.TEXT;
newTextLayer.name = layerName;
newTextLayer.textItem.kind = TextType.POINTTEXT;
newTextLayer.textItem.color = textColor;
newTextLayer.textItem.font = 'Georgia';
newTextLayer.textItem.size = fontSize;
newTextLayer.textItem.contents = Contents;
var Centrage = parseFloat(newTextLayer.textItem.contents.length)*fontSize/4; //Ajout pour centrer
newTextLayer.textItem.position = Array( PositionX - Centrage, PositionY );
}
add text layors
I've tried it in CS4 and CS5, I still get blank layers.
Does scripting require translation to english for a computer that has english as it's language?
Does scripting require translation to english for a computer that has english as it's language?