javascript - 如何获得 PathItems 的整数个数?(插画脚本)
问题描述
我创建了一个代码来将随机颜色应用于 Illustrator 上的路径。但是,它只适用于图层的第一条路径,忽略我的选择。我知道这是因为 pathItems[] 为 0。如果为 1,它会重新着色第二条路径,依此类推。
如何找出当前选择的整数?所以我可以将它存储为“AnyNumber”变量并用 docRef.pathItems[ANYNUMBER] 替换 docRef.pathItems[0]。
PathItems 的参考在这里。
谢谢你。
var docRef = app.activeDocument;
// Create color
var rgb;
var rgb = new RGBColor();
var random1 = Math.floor((Math.random() * 255) + 1);
var random2 = Math.floor((Math.random() * 255) + 1);
var random3 = Math.floor((Math.random() * 255) + 1);
rgb.red = random1;
rgb.green = random2;
rgb.blue = random3;
// Create swatch
var swatch = docRef.swatches.add();
swatch.color = rgb;
swatch.name = "Random Color";
// Apply swatch
var pathRef = docRef.pathItems[0];
pathRef.filled = true;
pathRef.fillColor = swatch.color;
pathRef.stroked = false;
// Delete swatch
swatchToDelete = app.activeDocument.swatches[swatch.name];
swatchToDelete.remove();
解决方案
我通过创建数组找到了解决方案。
这是整个脚本,如果将来有人想检查代码:
doc = app.activeDocument;
sel = app.activeDocument.selection;
selSwatch = doc.swatches.getSelected();
if (sel instanceof Array) {
if(selSwatch.length != 0)
for (i=0; i<sel.length; i++) {
if(sel[i].typename == "PathItem" || sel[i].typename == "CompoundPathItem") {
selobj = sel[i];
selobj.filled = true;
// Create color
var rgb;
var rgb = new RGBColor();
var random1 = Math.floor((Math.random() * 255) + 1);
var random2 = Math.floor((Math.random() * 255) + 1);
var random3 = Math.floor((Math.random() * 255) + 1);
rgb.red = random1;
rgb.green = random2;
rgb.blue = random3;
// Create swatch
var swatch = doc.swatches.add();
swatch.color = rgb;
swatch.name = "Random Color";
// Apply swatch
selobj.filled = true;
selobj.stroked = false;
selobj.fillColor = swatch.color;
// Delete swatch
swatchToDelete = doc.swatches[swatch.name];
swatchToDelete.remove();
}}}
推荐阅读
- r - 仍然无法将 MP4 嵌入闪亮
- sql-server - 以编程方式更改 PowerBI 中的订阅
- api - express-api 从 localhost 获取 /inform 帖子
- java - 如何解决构造函数上的错误?
- reactjs - 如何结合多重 apollo 查询/突变和其他 api 调用?
- python - 如何从 Rstudio 调用需要命令行参数(非静态)的 python 脚本?
- python - Python简单检查
- reactjs - 与打字稿反应的按键事件
- php - 如何在 Wordpress 自定义菜单上显示导航标签而不是页面标题
- python - 使用 Python xlsx writer 条件格式突出显示单元格中的标记列表