如何在photoshop javascript中定义百分比画布增加

Posted

技术标签:

【中文标题】如何在photoshop javascript中定义百分比画布增加【英文标题】:How to define percentage canvas increase in photoshop javascript 【发布时间】:2011-02-15 01:51:10 【问题描述】:

我是 javascript 新手,我在 jsx 脚本中有一段代码,我想在水平和垂直两侧调整画布 +20% 的大小。

resizeCanvas = docRef.resizeCanvas(curWidth + 20, curHeight + 20, AnchorPosition.MIDDLECENTER);

20 指的是标尺设置的任何单位。 (英寸、像素、厘米等)。

将画布大小调整 20 % 的正确方法是什么?

我怀疑我可能必须将 resizeCanvas 之前的单位更改为 Units.PERCENT,然后在调整大小后恢复为默认值。对我来说,这似乎是很多打字,有没有更好的方法?

【问题讨论】:

【参考方案1】:

这是我想出来的,是不是正确的方法?

var strtRulerUnits = app.preferences.rulerUnits; // store default ruler units

function resizecanvas()
   app.preferences.rulerUnits = Units.PERCENT; // change units to percent
   docRef.resizeCanvas(curWidth + 20, curHeight + 20, AnchorPosition.MIDDLECENTER, ); // add 20 % to the canvas
   app.preferences.rulerUnits = strtRulerUnits; // restore to default ruler units
   

resizecanvas();

【讨论】:

【参考方案2】:

我会这样做:

resizeCanvas = docRef.resizeCanvas(curWidth * 1.2, curHeight * 1.2, AnchorPosition.MIDDLECENTER);

如果resizeCanvas 函数不能自动处理,您可能需要使用Math.roundMath.floor 将宽度和高度强制为整数。

【讨论】:

以上是关于如何在photoshop javascript中定义百分比画布增加的主要内容,如果未能解决你的问题,请参考以下文章

使用扩展脚本(javascript)如何从 Photoshop 颜色表中获取颜色值

通过JavaScript更改Photoshop中的标尺原点

如何通过 Photoshop JavaScript 将文本写入文本文件?

javascript相关知识

Photoshop Javascript 的奇怪行为

javascript Dataset para Photoshop