Есть такой малоизученный дизайнерами функционал в фотошопе как скрипты.
Многие пользуются Actions, но для написания настоящих jsx скриптов нужны хотя бы базовые познания в JS, VBS или AppleScript.
Представьте себе такую задачу, как создание 50 уникальных графических заголовков для сайта, общего начертания, цвета, размера, но, увы, с разным контентом.
Как решить задачу?
1) Сесть и ручками наструячить 50 заголовков, копируя текст из текстовичка, настраивая размер и сохраняя файлы.
2) Создать скрипт:)
Исходный код скрипта привожу ниже (для редактирования в комплекте с фотошопом поставляется удобная программка ExtendScript Toolbox):
Что делает скрипт:
Построчно считывает файл text.txt и для каждой строки создаёт в файле отдельный текстовый слой, содержащий значение строки
Сохраняем это с расширением .jsx, создаём C:/script/text.txt и ура, очень многое упростилось:)
Многие пользуются Actions, но для написания настоящих jsx скриптов нужны хотя бы базовые познания в JS, VBS или AppleScript.
Представьте себе такую задачу, как создание 50 уникальных графических заголовков для сайта, общего начертания, цвета, размера, но, увы, с разным контентом.
Как решить задачу?
1) Сесть и ручками наструячить 50 заголовков, копируя текст из текстовичка, настраивая размер и сохраняя файлы.
2) Создать скрипт:)
Исходный код скрипта привожу ниже (для редактирования в комплекте с фотошопом поставляется удобная программка ExtendScript Toolbox):
#target photoshop
app.bringToFront();
var strtRulerUnits = app.preferences.rulerUnits;
var strtTypeUnits = app.preferences.typeUnits;
app.preferences.rulerUnits = Units.INCHES;
app.preferences.typeUnits = TypeUnits.POINTS;
var docRef = app.documents.add(7, 5, 72);
app.displayDialogs = DialogModes.NO;
var textColor = new SolidColor;
textColor.rgb.red = 255;
textColor.rgb.green = 0;
textColor.rgb.blue = 0;
var myFile = File('/c/script/text.txt');
if (myFile.exists == true){
myFile.open('r', undefined, undefined)
var line;
while(!myFile.eof)
{
line = myFile.readln();
createText(line);
}
myFile.close();
} else {
new File(myFile);
}
function createText(text){
var newTextLayer = docRef.artLayers.add();
newTextLayer.kind = LayerKind.TEXT;
newTextLayer.textItem.contents = text;
newTextLayer.textItem.position = Array(0.75, 0.75);
newTextLayer.textItem.size = 36;
newTextLayer.textItem.font = "Verdana";
newTextLayer.textItem.color = textColor;
}
app.preferences.rulerUnits = strtRulerUnits;
app.preferences.typeUnits = strtTypeUnits;
docRef = null;
textColor = null;
newTextLayer = null;
Что делает скрипт:
Построчно считывает файл text.txt и для каждой строки создаёт в файле отдельный текстовый слой, содержащий значение строки
Сохраняем это с расширением .jsx, создаём C:/script/text.txt и ура, очень многое упростилось:)