如何在InDesign中使用ExtendScript更改彩色灰度图片的色样?

时间:2016-05-03 06:15:34

标签: javascript adobe-indesign extendscript

我遇到以下问题/情况:

  • 12页文件(ID CC 2015)
  • 每页有一张灰度图片的一帧
  • 图片在所有页面上用相同的色样(例如"通用")着色(白色箭头,应用色样)

我现在要做的是编写一个脚本,用不同的颜色样本为每张图片着色,例如第1页上的图片带有色样" 1",第2页上的图片带有色样" 2"等等 但我不知道如何访问图片本身(而不是框架)并改变其颜色。这甚至可能吗?

提前致谢。

1 个答案:

答案 0 :(得分:0)

这应该可以解决问题。 它目前为图像设置随机颜色,仅查找矩形。你可以用

page.allPageItems

代替。 (如果你还有椭圆形或多边形的图像)

// the main function
var main = function() {
  var doc = app.activeDocument; // get the current document
  // loop the pages
  for (var i = 0; i < doc.pages.length; i++) { 
    var page = doc.pages[i]; // isolate the page
    // loop all rectangles
    for(var j = 0; j < page.rectangles.length;j++){
      var rect = page.rectangles[j]; // isolate a rectangle
      // test if there is an image inside
      if(rect.images.length > 0){
        var image = rect.images[0]; // isolate the image
        // asign a random color from th swatches
        image.fillColor = doc.swatches[Math.floor(Math.random()* doc.swatches.length -1)];
      } // end if image
    } // end loop j rectangles
  } // end loop i pages
} // end of main
main(); // run it