【问题标题】:Javascript Adobe Illustrator script -change strokewidth of all itemsJavascript Adob​​e Illustrator 脚本 - 更改所有项目的笔画宽度
【发布时间】:2017-06-27 21:22:29
【问题描述】:

我有大约 200 个 SVG 文件,我需要在这些文件上将笔画颜色更改为灰色,并将所有线条的笔画宽度更改为 .2pt。

我想编写相当于在界面中执行的脚本 - “全选”,然后手动输入 .2 pt 作为笔画宽度。

现在,我的脚本正在将所有颜色更改为灰色(工作正常),并将部分线条更改为 0.2pt 的笔划宽度。

app.userInteractionLevel = UserInteractionLevel.DONTDISPLAYALERTS;
var doc = app.activeDocument;

for ( i = 0; i <doc.pathItems.length; i++ ) {
pathArt = doc.pathItems[i];
pathArt.strokeWidth = .2;
pathArt.strokeColor = makeColor(153,153,153);
pathArt.filled = false;
}

function makeColor(r,g,b){
var c = new RGBColor();
c.red   = r;
c.green = g;
c.blue  = b;
return c;
}

也许我没有通过脚本正确选择所有对象? 是否像我在上面所做的那样选择路径项是实现相当于 CTRL-A 的正确方法,然后手动进行一些操作?

非常感谢您的宝贵时间!

【问题讨论】:

    标签: javascript svg scripting adobe-illustrator


    【解决方案1】:

    从 AI CS3 开始,当路径未被描边时,.strokeColor 属性适用,而.strokeWidth 属性不适用。

    添加代码pathArt.Stroked = True; 来解决您的问题

    另请注意,您不会迭代 CompoundPathItems

    【讨论】:

      【解决方案2】:

      这是完整的脚本,它将要求您选择文件夹。所以选择有 200 个 SVG 文件的文件夹。此脚本将处理所选文件夹中的所有 SVG 文件并将笔触颜色更改为灰色并更改其宽度。

      var folder = Folder.selectDialog();
      if (folder) {
          app.userInteractionLevel = UserInteractionLevel.DONTDISPLAYALERTS;
          var color = makeColor(153, 153, 153);
          var files = folder.getFiles("*.svg");
          for (var j = 0; j < files.length; j++) {
              app.open(files[j]);
              var doc = app.activeDocument;
              for (i = 0; i < doc.pathItems.length; i++) {
                  pathArt = doc.pathItems[i];
                  pathArt.stroked = true;
                  pathArt.strokeWidth = .2;
                  pathArt.strokeColor = color;
                  pathArt.filled = false;
              }
              doc.close(SaveOptions.SAVECHANGES);
              doc = null;
          }
      
      }
      
      function makeColor(r, g, b) {
          var c = new RGBColor();
          c.red = r;
          c.green = g;
          c.blue = b;
          return c;
      }
      

      如果您想处理锁定和隐藏的项目,您也可以更改锁定和隐藏项目的脚本。

      【讨论】:

        猜你喜欢
        • 2020-10-05
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2013-07-01
        • 1970-01-01
        • 2020-06-28
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多