Photoshop沿y轴移动层Photoshop

由网友(没有你哪来的未来)分享简介:我正在编写一个脚本,它将向右、向左、向上或向下移动层。这取决于层的哪个边缘在画布内。我已经设法使用边界[0]和边界[2]让层左右移动(x轴)。但当我试图让它向上或向下移动时,它仍然向左/向右移动。是不是我弄错了界数?var Y1 = bounds[3].as('px');var Height = app.active...

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

我已经设法使用边界[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);
阅读全文

相关推荐

最新文章