Javascript Photoshop沿y轴移动图层
我正在编写一个脚本,它将移动一个层,向右、向左、向上或向下。这取决于层的哪个边在画布内 我已经设法使用边界[0]和边界[2]使层左右移动(x轴) 但当我试图让它向上或向下移动时,它仍然会向左/向右移动。是我弄错的号码吗Javascript Photoshop沿y轴移动图层,javascript,photoshop,photoshop-script,Javascript,Photoshop,Photoshop Script,我正在编写一个脚本,它将移动一个层,向右、向左、向上或向下。这取决于层的哪个边在画布内 我已经设法使用边界[0]和边界[2]使层左右移动(x轴) 但当我试图让它向上或向下移动时,它仍然会向左/向右移动。是我弄错的号码吗 var Y1 = bounds[3].as('px'); var Height = app.activeDocument.height.as('px'); //move down if (Y1 < Height) { activeDocument.activeLayer.
var Y1 = bounds[3].as('px');
var Height = app.activeDocument.height.as('px');
//move down
if (Y1 < Height) {
activeDocument.activeLayer.translate(Height-Y1);
}
var Y1=bounds[3]。as('px');
var Height=app.activeDocument.Height.as('px');
//下移
如果(Y1<高度){
activeDocument.activeLayer.translate(高度-Y1);
}
在这种情况下,您可能要做的第一件事就是检查。对于.translate()
,我们可以找到以下内容:
因此,要水平移动,我们将使用deltaX
和垂直移动deltaY
,在您的代码中,您将给.translate()
仅deltaX
,这样您的层将按预期水平移动。要将此pass0
作为第一个参数,将您的Height-Y1
作为第二个参数,请执行以下操作:
activeDocument.activeLayer.translate(0, Height - Y1);
在这种情况下,你可能要做的第一件事就是检查。对于
.translate()
,我们可以找到以下内容:
因此,要水平移动,我们将使用deltaX
和垂直移动deltaY
,在您的代码中,您将给.translate()
仅deltaX
,这样您的层将按预期水平移动。要将此pass0
作为第一个参数,将您的Height-Y1
作为第二个参数,请执行以下操作:
activeDocument.activeLayer.translate(0, Height - Y1);
感谢您抽出时间回复。不幸的是,我仍然无法让它移动。至少现在它没有向左或向右移动。只是保持原样。在发布答案之前,我测试了你的代码,并且它是正确的:如果该层在文档的中间,它将被翻译到文档的底部。如果这对你不起作用,可能还有别的什么问题。嗨,谢尔盖,很抱歉花了这么长时间才回来。今天晚上,我再次测试了所有的东西,一切正常。从前几天起有些事情发生了变化;不知道是什么。谢谢你的帮助。很高兴听到这个消息!如果答案对你有用,请别忘了接受,这样问题就可以结束了谢谢你花时间回答。不幸的是,我仍然无法让它移动。至少现在它没有向左或向右移动。只是保持原样。在发布答案之前,我测试了你的代码,并且它是正确的:如果该层在文档的中间,它将被翻译到文档的底部。如果这对你不起作用,可能还有别的什么问题。嗨,谢尔盖,很抱歉花了这么长时间才回来。今天晚上,我再次测试了所有的东西,一切正常。从前几天起有些事情发生了变化;不知道是什么。谢谢你的帮助。很高兴听到这个消息!如果答案对你有用,请不要忘记接受,这样问题就结束了