通过InDesign JavaScript脚本向图像添加黑色阴影

时间:2014-03-22 22:18:07

标签: javascript scripting adobe-indesign

我是InDesign的JavaScript脚本的绝对初学者。 我创建了一个像这样的对象:

var rectbox = doc.pages.item(0).rectangles.add({geometricBounds:[20,20,70,120]});
var image = rectbox.place(File('/path/image.pdf'));

现在我只想添加一个黑色阴影。

有人可以帮助我吗?

在我看来,找不到一些例子是不可能的。真令人难以置信......

非常感谢!

罗伯特

2 个答案:

答案 0 :(得分:0)

以下是如何实现阴影的一些示例 http://forums.adobe.com/thread/778309
http://www.adobe.com/content/dam/Adobe/en/devnet/indesign/sdk/cs6/scripting/InDesign_ScriptingGuide_JS.pdf(第57页)。

试试这个:

var rectbox = doc.pages.item(0).rectangles.add({geometricBounds:[20,20,70,120]});
var image = rectbox.place(File('/path/image.pdf'));
var myFillTransparencySettings1 = rectbox.fillTransparencySettings;
myFillTransparencySettings1.dropShadowSettings.mode = ShadowMode.drop;
myFillTransparencySettings1.dropShadowSettings.angle = 90;
myFillTransparencySettings1.dropShadowSettings.xOffset = 0;
myFillTransparencySettings1.dropShadowSettings.yOffset = 0;
myFillTransparencySettings1.dropShadowSettings.size = 6;

答案 1 :(得分:0)

好的,这是解决方案:如果我的包装盒中有填充颜色,那么它有效;但是,如果框中包含图像或其他内容,那么我需要使用 transparencySettings 而不是 fillTransparencySettings

var myTransparencySettings = rectbox.transparencySettings;

然后

var rectbox = doc.pages.item(0).rectangles.add({geometricBounds:[20,20,70,120]});
var image = rectbox.place(File('/path/image.pdf'));
var myTS = rectbox.transparencySettings;
myTS.dropShadowSettings.mode = ShadowMode.drop;
...

完美无缺!

非常感谢约翰!