Photoshop沿y轴移动层Photoshop

2023-09-04 02:26:13 作者:没有你哪来的未来

我正在编写一个脚本,它将向右、向左、向上或向下移动层。这取决于层的哪个边缘在画布内。

我已经设法使用边界[0]和边界[2]让层左右移动(x轴)。

在PS中如何移动图层中图象的位置

但当我试图让它向上或向下移动时,它仍然向左/向右移动。是不是我弄错了界数?

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