adobe illustrator 脚本 - 检查样本颜色是否在列表中
adobe illustrator script- check if swatch color is on list
我正在尝试制作一个脚本,它将遍历样本列表并搜索名为“Line”的样本。
如果找不到,我想添加它,但如果已经找到,我希望脚本被忽略。
这是我目前所做的,问题是如果它找到一个名为“Line”的样本,它会出于某种原因创建一个新的粉红色。
var doc = app.activeDocument;
for (i = 0; i < doc.swatches.length; i++)
{
if (doc.swatches[i].name != "Line")
{
var newSpot = doc.spots.add();
var newColor = new CMYKColor();
newColor.cyan = 100;
newColor.magenta = 100;
newColor.yellow = 100;
newColor.black = 100;
newSpot.name = "Line";
newSpot.colorType = ColorModel.SPOT;
newSpot.color = newColor;
}
}
您可以先尝试按名称选择颜色,只有在出现错误时才创建新颜色:
var doc = app.activeDocument;
try { var color = doc.swatches.getByName('Line') }
catch(e) {
var newColor = new CMYKColor();
newColor.cyan = 100;
newColor.magenta = 100;
newColor.yellow = 100;
newColor.black = 100;
var newSpot = doc.spots.add();
newSpot.name = 'Line';
newSpot.colorType = ColorModel.SPOT;
newSpot.color = newColor;
}
我正在尝试制作一个脚本,它将遍历样本列表并搜索名为“Line”的样本。 如果找不到,我想添加它,但如果已经找到,我希望脚本被忽略。
这是我目前所做的,问题是如果它找到一个名为“Line”的样本,它会出于某种原因创建一个新的粉红色。
var doc = app.activeDocument;
for (i = 0; i < doc.swatches.length; i++)
{
if (doc.swatches[i].name != "Line")
{
var newSpot = doc.spots.add();
var newColor = new CMYKColor();
newColor.cyan = 100;
newColor.magenta = 100;
newColor.yellow = 100;
newColor.black = 100;
newSpot.name = "Line";
newSpot.colorType = ColorModel.SPOT;
newSpot.color = newColor;
}
}
您可以先尝试按名称选择颜色,只有在出现错误时才创建新颜色:
var doc = app.activeDocument;
try { var color = doc.swatches.getByName('Line') }
catch(e) {
var newColor = new CMYKColor();
newColor.cyan = 100;
newColor.magenta = 100;
newColor.yellow = 100;
newColor.black = 100;
var newSpot = doc.spots.add();
newSpot.name = 'Line';
newSpot.colorType = ColorModel.SPOT;
newSpot.color = newColor;
}