Я создал экшен фотошопа, который добавляет к фотографии строку белого текста. В этом действии я написал сценарий, который увеличивает размер холста и изменяет размер текста в пределах дополнительного пространства холста, чтобы он соответствовал размерам изображения, создавая «текстовую вкладку» на фотографии. Однако после реализации действия и сценария цвет текста во вкладке зачастую... не белый.
Какой синтаксис сценария я могу использовать, чтобы изменить цвет текстового слоя на белый, чтобы гарантировать, что он не изменит цвет случайным образом?
Для справки, вот часть моего скрипта, которая редактирует текстовый слой:
#target photoshop
var originalRulerUnits = app.preferences.rulerUnits;
app.preferences.rulerUnits = Units.INCHES;
var doc = app.activeDocument;
var layer = doc.activeLayer;
app.preferences.rulerUnits = Units.PIXELS;
//create the color for the tab extension
var black = new SolidColor();
black.rgb.hexValue = "111111";
app.backgroundColor = black;
//*****************************FOR EXTENDING CANVAS AND POSITIONING/RESIZING THE TEXT LAYER*********************************
var orgWidth = doc.width;
var orgHeight = doc.height;
if(orgWidth>orgHeight) //if document is landscape, resize text to fill a smaller portion of the tab
{
layer.resize(((orgWidth-orgWidth*.2)/(layer.bounds[2]-layer.bounds[0]))*100,(orgWidth*.017/(layer.bounds[3]-layer.bounds[1]))*100,AnchorPosition.TOPLEFT);
doc.resizeCanvas(doc.width, (orgHeight + orgWidth*.04), AnchorPosition.TOPCENTER);
layer.translate(undefined, new UnitValue(0-layer.bounds[1].as('px'),'px'));
layer.translate(undefined, orgHeight);
layer.translate(undefined, (orgWidth*.02-((layer.bounds[3]-layer.bounds[1])/2.3)));
}
else //otherwise, resize text to fill a larger portion of the tab
{
layer.resize(((orgWidth-orgWidth*.05)/(layer.bounds[2]-layer.bounds[0]))*100,(orgWidth*.017/(layer.bounds[3]-layer.bounds[1]))*100,AnchorPosition.TOPLEFT);
doc.resizeCanvas(doc.width, (orgHeight + orgWidth*.04), AnchorPosition.TOPCENTER);
layer.translate(undefined, new UnitValue(0-layer.bounds[1].as('px'),'px'));
layer.translate(undefined, orgHeight);
layer.translate(undefined, (orgWidth*.02-((layer.bounds[3]-layer.bounds[1])/2.3)));
}
var layerWidth = Number(layer.bounds[2] - layer.bounds[0]);
var dX = (orgWidth - layerWidth) / 2 - Number(layer.bounds[0]);
layer.translate(dX, undefined);
doc.flatten(); //flatten the text into the photo
app.preferences.rulerUnits = originalRulerUnits;