Экшен Photoshop для заливки изображения в определенном соотношении

Я хочу сделать действие фотошопа (возможно, это невозможно, любые другие рекомендации по применению также будут полезны). Я хочу взять коллекцию фотографий и сделать их с определенным соотношением сторон, например: 4:3.

Итак, у меня есть изображение шириной 150 пикселей и высотой 200 пикселей. Я хотел бы, чтобы холст изображения был шириной 267 пикселей, а новая область была заполнена определенным цветом.

Итак, есть две возможности, о которых я могу думать:

1) Действия Photoshop могли бы это сделать, но мне пришлось бы вытащить текущую высоту, умножить на 1,333333, а затем поместить это значение в поле ширины изменения размера холста. Можно ли иметь рассчитанные значения в экшенах Photoshop?

2) В некоторых других приложениях эта функция встроена.

Любая помощь приветствуется.


person RHollister    schedule 29.11.2010    source источник


Ответы (2)


Имейте в виду, что принятый ответ от @user268911 может не сработать для вас, если исходное изображение имеет другие пиксели/дюймы, чем 72. Потому что функция UnitValue.convert корректно работает только с 72 пикс/дюйм. Чтобы убедиться, что преобразование верно для любого значения в пикселях/дюймах, установите свойство baseUnit следующим образом:

 ...
 var pixelWidth = new UnitValue (doc.width, doc.width.type);
 pixelWidth.baseUnit = UnitValue (doc.width.baseUnit, "in");
 var pixelHeight = new UnitValue (doc.height, doc.height.type);
 pixelHeight.baseUnit = UnitValue (doc.height.baseUnit, "in");
 ...

Дополнительные сведения о преобразовании см. в разделе «Преобразование значений пикселей и процентов» документа Руководство по Adobe JavaScript Tools.

person bocekm    schedule 28.08.2017

Какие языки вы знаете? У ImageMagick есть инструменты командной строки, которые могут это сделать, но вам нужно знать язык сценариев, чтобы получить значения и вычислить новые.

Для .NET продукт моей компании, DotImage Photo, является бесплатным и может делать это (необходимо знать C# или ВБ.NET)

person Lou Franco    schedule 29.11.2010