我正在try 创建一个插图脚本,将 Select 一组点,所有具有相同的 colored颜色 ,然后创建一个新的层,并将其发送到该层.该脚本只适用于一个层,但不适用于两个层.

我不知道我的代码做错了什么.当我按原样运行代码时,我得到一个错误"操作无法完成,因为没有 Select ."然而,代码仍然运行,但它将黄点移动到红点层,仅此而已.但是,当我在填充了参数的情况下注释掉这两行中的任何一行时,它可以正确运行,没有错误,并将正确的点放在正确的新层上.

有什么建议吗?

var doc = app.activeDocument;//Gets the active document
var layerName;
var lay = doc.layers;
var myLayer = lay.add();

var yellow = new RGBColor();
yellow.red = 252;
yellow.green = 253;
yellow.blue = 1;

var red = new RGBColor();
red.red = 252;
red.green = 0;
red.blue = 0;




function selectColor(swatch, layerName) {

        var temp = app.documents[0].pathItems.rectangle(10, 10, 150, 150);
        temp.fillColor = swatch;

        // To select object that have CMYK Red swatch applied to fill.
        app.executeMenuCommand('Find Fill Color menu item');

    temp.remove();


    myLayer.name = layerName;
    app.executeMenuCommand('Selection Hat 2');
}

selectColor(yellow, "Yellow Dots");

selectColor(red, "Red Dots");

enter image description here

推荐答案

史蒂文!据我所知,你想要这个:

var yellow = new RGBColor();
yellow.red = 252;
yellow.green = 253;
yellow.blue = 1;

var red = new RGBColor();
red.red = 252;
red.green = 0;
red.blue = 0;

function selectColor(swatch, layerName) {
    app.selection = null;

    var doc = app.activeDocument;
    var temp = doc.pathItems.rectangle(10, 10, 150, 150);
    temp.fillColor = swatch;
    temp.selected = true;
    app.executeMenuCommand('Find Fill Color menu item');
    temp.remove();

    try {
        var myLayer = doc.layers.getByName(layerName);
    } catch (e) {
        var myLayer = doc.layers.add();
        myLayer.name = layerName;
    }

    doc.activeLayer = myLayer;
    app.executeMenuCommand('Selection Hat 2'); // send the selection to current layer

    app.selection = null;
}

selectColor(yellow, "Yellow Dots");
selectColor(red, "Red Dots");

Javascript相关问答推荐

使用expressjs加载Nuxt版本=3.9.0(自定义服务器)

promise .all()永不解决

Math.random超出了最大调用堆栈

如何在JavaScript中在文本内容中添加新行

是什么原因导致此Angular 16电影应用程序中因类型错误而不存在属性?

togglePopover()不打开但不关闭原生HTML popover'

点击按钮一次有文本出现和褪色,而不是点击两次?(html,CSS,JavaScript)

单击ImageListItemBar的IconButton后,在Material—UI对话框中显示图像

如何从URL获取令牌?

在WordPress中使用带有WPCode的Java代码片段时出现意外令牌错误

如何发送从REST Api收到的PNG数据响应

使用js构造一个html<;ath&>元素并不能使其正确呈现

Reaction组件在本应被设置隐藏时仍显示

将对象推送到数组会导致复制

如何在HTMX提示符中设置默认值?

如何使用<;Link>;执行与JS Reaction中的";window.Location=/GameOverDied;";类似的操作?

将嵌套数组的元素乘以其深度,输出一个和

将多个文本框中的输出合并到一个文本框中

ngOnChanges仅在第二次调用时才触发

如何在FiRestore中的事务中使用getCountFromServer