не доводим до ошибки проверкой валидных свойств.Все это просто замечательно, но, к сожалению, в случае адобовского жабаскрипта это недостижимая роскошь: валидность некоторых операций можно проверить только сгенерировав ошибку.
не доводим до ошибки проверкой валидных свойств.Все это просто замечательно, но, к сожалению, в случае адобовского жабаскрипта это недостижимая роскошь: валидность некоторых операций можно проверить только сгенерировав ошибку.
var myDocument = app.documents.add();
var myTextFrame = myDocument.textFrames.add();
var arraySpots = app.activeDocument.spots;
newSPOTcolor("Cut", 0, 100, 100, 0); // это работает
newSPOTcolor("Crease", 100, 100, 0, 0); // это работает
newSPOTcolor("Regmark", 0 , 0, 0, 100); // это работает
var obj1 = myDocument.pathItems.polygon (100, 100, 72.0, 6);
obj1.filled = true;
obj1.fillColor = newSPOTcolor("newColor", 100, 0, 0, 0); // НО это почему не рабюотает ?
//создание SPOT цвета
function newSPOTcolor(name, c,m,y,k) {
var newSpot = app.activeDocument.spots.add();
newSpot.name = name;
newSpot.colorType = ColorModel.SPOT;
newSpot.color = new CMYKColor;
newSpot.color.cyan = c;
newSpot.color.magenta = m;
newSpot.color.yellow = y;
newSpot.color.black = k;
return newSpot;
}
я просто не вкурил, разницу между классами Spot и SpotColor до сих пор.Ты точно читаешь невнимательно. Глянь пример сообщением выше. Где у тебя созддание SpotColor?
var obj1 = myDocument.pathItems.polygon (100, 100, 72.0, 6);
obj1.filled = true;
var newSpotColor = newSPOTcolor("newColor1", 100, 100, 0, 0);
obj1.fillColor = newSpotColor;
//создание SPOT цвета
function newSPOTcolor(name, c,m,y,k) {
var newSpot = app.activeDocument.spots.add();
newSpot.name = name;
newSpot.colorType = ColorModel.SPOT;
newSpot.color = new CMYKColor;
newSpot.color.cyan = c;
newSpot.color.magenta = m;
newSpot.color.yellow = y;
newSpot.color.black = k;
var newSpotColor = new SpotColor(); //создаем экземпляр класса SpotColor с именем newSpotColor
newSpotColor.spot = newSpot; // присваиваем ему характеристики newSpot
newSpotColor.tint = 80;
return newSpotColor;
}
ок, забыли, просто интересно, это сложный процесс привязки ?К свотчам и не должно привязываться. Мы ж вроде договорились что забываем про свотчи?
Пока что вижу два варианта: 1) делать уникальные свотчи (без повторяющихся цветов) 2) назначать свотч через вызов экшна
function createPolygon (x, y, r, side, filled, stroked, fColor, sColor) {
var obj = myDocument.pathItems.polygon (x, y, r, side);
obj.filled = filled;
obj.stroked = stroked;
obj.fillColor = fColor;
obj.strokeColor = sColor;
}
//создание SPOT цвета
function newSPOTcolor(name, c,m,y,k, tint) {
var newSpot = app.activeDocument.spots.add();
newSpot.name = name;
newSpot.colorType = ColorModel.SPOT;
newSpot.color = new CMYKColor;
newSpot.color.cyan = c;
newSpot.color.magenta = m;
newSpot.color.yellow = y;
newSpot.color.black = k;
var newSpotColor = new SpotColor(); //создаем экземпляр класса SpotColor с именем newSpotColor
newSpotColor.spot = newSpot; // присваиваем ему характеристики newSpot
newSpotColor.tint = tint;
return newSpotColor;
}
Ну зубрить не надо, это тебе не латынь, но в референсе разбираться неплохонадо учить
Да. А что мешает?есть вопрос.
у меня скрипт меняет недопустимые символы на подчеркивания
.replace(/&/g, '_')
есть возможность так же выступить с заменой символа ' (тилда) ?
var transliterate = function(text) {
text = text
.replace(/&/g, '_')
.replace(/__/g, '_')
.replace(/;/g, '_')
.replace(/!/g, '_')
.replace(/%/g, '_')
.replace(/‘/g, '_')
.replace(/’/g, '_')
.replace(/′/g, '_')
.replace(/@/g, '_');
return text;
};transliterate('<<file/>>');