Как запустить Batch Photoshop Script для последовательного перемещения слоев X? - PullRequest
1 голос
/ 29 марта 2012

У меня есть 70 слоев в файле фотошопа. Мне нужно переместить X вертикально, один за другим. Так они бы выглядели так:

>>Layer 1<<
>>Layer 2<<
>>Layer 3<<

Вместо того, чтобы просто укладываться друг на друга. Не уверен, как это сделать? В идеале, я должен просто указать количество в пикселях для преобразования.

Ответы [ 2 ]

1 голос
/ 22 августа 2012

Кажется, что слой может двигаться только с дельтой.

Для перемещения по дельте используйте MyLayer.transform(DeltaX,DeltaY);, где MyLayer является ссылкой на artLayer, который вы хотите переместить. Единицы DeltaX и DeltaY такие же, как у вашей линейки в фотошопе.

Я написал эту маленькую функцию, чтобы переместить слой в абсолютную позицию. Я надеюсь, что это будет вам полезно ...

//******************************************
// MOVE LAYER TO
// Author: Max Kielland
//
// Moves layer fLayer to the absolute
// position fX,fY. The unit of fX and fY is
// the same as the ruler setting. 

function MoveLayerTo(fLayer,fX,fY) {

  var Position = fLayer.bounds;
  Position[0] = fX - Position[0];
  Position[1] = fY - Position[1];

  fLayer.translate(-Position[0],-Position[1]);
}
0 голосов
/ 02 ноября 2013

Большое спасибо за это! Благодаря этому совету мне удалось завершить сценарий, который загружает / размещает (тысячи) листов карты ... не смог бы сделать это без вас; )

Я новичок в «Фотокриптировании», поэтому я хотел бы указать на кое-что (теперь очевидное), которое может потребовать и других новичков, чем я: если вы вычислили свои значения «fX» и «fY» с помощью некоторых математических средств будьте осторожны, чтобы явно добавить единицу измерения, которую вы используете, к вашему входному номеру, в противном случае вы будете размещать вещи повсюду (в моем случае это будет не так;

Как это:

 MoveLayerTo(myLayerRef, myX + "px", myY + "px").

Еще раз большое спасибо и ура!

...