[FIXED] Photoshop bewegen Sie die Schicht entlang der Y-Achse

Ausgabe

Ich arbeite an einem Skript, das eine Ebene nach rechts, links, oben oder unten bewegt. Dies hängt davon ab, welche Kante der Ebene sich innerhalb der Leinwand befindet.

Ich habe es geschafft, die Ebene mithilfe von bounds[0] und bounds[2] nach links und rechts (x-Achse) zu bewegen.

Aber wenn ich versuche, es nach oben oder unten zu bewegen, bewegt es sich immer noch nach links / rechts. Ist es die Begrenzungszahl, die ich falsch verstanden habe?

var Y1 = bounds[3].as('px');
var Height = app.activeDocument.height.as('px');

//move down
if (Y1 < Height) {
activeDocument.activeLayer.translate(Height-Y1); 
}

Lösung

Das erste, was Sie in einer solchen Situation wahrscheinlich tun möchten, ist, die Dokumentation zu überprüfen . Denn .translate()wir können Folgendes finden:

Geben Sie hier die Bildbeschreibung ein

Um sich also horizontal zu bewegen, würden wir verwenden deltaXund um uns vertikal zu bewegen deltaY. In Ihrem Code geben Sie .translate()nur an deltaX, sodass Ihre Ebene wie erwartet horizontal verschoben wird. Um diesen Pass 0als erstes Argument und Ihr Height-Y1als zweites zu beheben:

activeDocument.activeLayer.translate(0, Height - Y1);


Beantwortet von –
Sergey Kritskiy


Antwort geprüft von –
Candace Johnson (FixError Volunteer)

0 Shares:
Leave a Reply

Your email address will not be published. Required fields are marked *

You May Also Like