Photoshop沿y轴移动层
我正在编写一个脚本,它将向右、向左、向上或向下移动层。这取决于层的哪个边缘在画布内。
我已经设法使用边界[0]和边界[2]让层左右移动(x轴)。
但当我试图让它向上或向下移动时,它仍然向左/向右移动。是不是我弄错了界数?
var Y1 = bounds[3].as('px');
var Height = app.activeDocument.height.as('px');
//move down
if (Y1 < Height) {
activeDocument.activeLayer.translate(Height-Y1);
}
解决方案
在这种情况下,您可能要做的第一件事是检查the documentation。对于.translate()
,我们可以找到以下内容:
deltaX
,要垂直移动deltaY
,在您的代码中,您只给.translate()
deltaX
,所以正如预期的那样,您的层正在水平移动。要将此传递0
修复为第一个参数,并将Height-Y1
修复为第二个参数:
activeDocument.activeLayer.translate(0, Height - Y1);
相关文章