【发布时间】:2015-01-23 12:59:33
【问题描述】:
Photoshop CS6/JSX。我正在通过增加或减少 10 来更改所选图层的不透明度。我遇到的问题:
当将值减少 10 时,我会得到以下减少的序列:
100 - 90 - 80 - 71 - 61 - 51 - 41 - 31 - 22 - 12 - 2
当增加结果是:
0 - 10 - 20 - 31 - 41 - 51 - 61 - 71 - 82 - 92
代码是这样的:
var opc = app.activeDocument.activeLayer.opacity;
desc2.putUnitDouble(cTID('Opct'), cTID('#Prc'), opc - 10.0);
/* or
desc2.putUnitDouble(cTID('Opct'), cTID('#Prc'), opc + 10.0); */
您知道如何解决它以仅获得 10 的倍数吗?
提前致谢
【问题讨论】:
-
在设置新值之前,您能否确保您的 opc 变量每个都向下舍入到最接近的 10?
-
顺便说一句,不透明度变量是读/写的。你不需要处理那个丑陋的脚本监听器代码。
-
嗯,我一直在寻找可以强制舍入结果的快捷方式。我知道我可以检查变量是否被舍入。另外,我知道我不需要听众。它是由 action2js 脚本生成的,它是如此丑陋。送之前没洗干净。请原谅我。非常感谢您的帮助。
-
100-10 = 90.1960784313726 :)
-
Math.round() 是快捷方式: var opc = Math.round(app.activeDocument.activeLayer.opacity);
标签: opacity photoshop layer jsx