简体   繁体   English

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

[英]Add a black drop shadow to an image through InDesign JavaScript scripting

I am an absolute beginner with JavaScript scripting for InDesign. 我绝对是InDesign JavaScript脚本的初学者。 I create an object like this: 我创建一个这样的对象:

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

and now I simply want to add a black drop shadow. 现在我只想添加一个黑色阴影。

Can someone help me? 有人能帮我吗?

It seems to me impossible to find some example about. 在我看来,找不到任何例子。 It is incredible... 不可思议...

Many thanks! 非常感谢!

Roberto 罗伯托

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

Try this: 尝试这个:

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;

Ok, here is the solution: if my box contains a filling color, ok, it works; 好的,这是解决方案:如果我的盒子中包含填充色,好的,就可以了; but, if the box contains an image or something else, then I need to use transparencySettings instead of fillTransparencySettings : 但是,如果该框包含图像或其他内容,则需要使用transparentSettings而不是fillTransparencySettings

var myTransparencySettings = rectbox.transparencySettings;

Then 然后

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;
...

works perfectly! 完美的作品!

Many thanks to Johan, however! 非常感谢Johan!

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM