Aison
@Aison

Как решить проблему с экшенами?

Ребят, такая проблема: как записать рамку так, чтобы она не привязывалась к редактируемой фото и просто резала область нужную типа 16:9 и т.д. ?

Почему но фотошоп не применяет обрезку ко всем изображениям. Потому, что все картинки разного размера и разрешения, а применить обрезку в операции невозможно, ибо он записывает её не как обрезка 16:9, а берёт информацию с редактируемой фотографии, и сохраняет этот шаг например, с параметрами: отступ снизу столько-то пикселей, отступ сверху и прочее, к другим фото. собственно не применяется такой формат, ибо все получаются разными.
  • Вопрос задан
  • 52 просмотра
Решения вопроса 1
DarkWood
@DarkWood
В экшенах вы этого не сделаете, потому что не сможете посчитать имеющееся соотношение сторон изображения. А вот в скрипте сможете.

Простейший пример:

// resize image to ratio 16:9

// ----------------------------
// This script resize image for aspect ratio 16:9
// ----------------------------

// create global variables
var doc = app.activeDocument;
var currentLayer = doc.activeLayer;

// get layer size
var layer = activeDocument.activeLayer;
var layerWidth = layer.bounds[2]-layer.bounds[0];
var layerHeight = layer.bounds[3]-layer.bounds[1];

// get layer ratio
var layerRatio = layerWidth / layerHeight;

// calculate new dimensions for canvas with aspect ratio 16:9
var newHeight = layerHeight * 9 / 16 * layerRatio;

//resize canvas
doc.resizeCanvas(layerWidth,newHeight);


Для использования сохраните его в формате JSX и положите в папку C:\Program Files\Adobe\Adobe Photoshop %version%\Presets\Scripts. Далее этот скрипт можно вызывать из меню File> Scripts. Для массового применения запишите экшен, в котором запускается скрипт. Для другого соотношения сторон измените соответствующие цифры в скрипте.

Учтите, что от портретных изображений при соотношении сторон 16:9 останется только узкая центральная часть (насколько узкая - зависит от его высоты).

Ну и можете просто использовать ImageMagick.

magick *.jpg -gravity center -extent 16:9 -set filename:f %t result/%[filename:f].jpg


Он сохранит все файлы формата JPG из текущей директории в папку result с сохранением исходного имени.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы