Да, можно написать скрипт на языке JavaScript для Photoshop, который будет выполнять такую обработку фотографий.
Вот пример такого скрипта:
```javascript
// Указываем нужные значения:
var increasePercentage = 200; // процент увеличения
var canvasWidth = 800; // ширина полотна
// Функция, выполняющая масштабирование и обработку изображения
function processImage(doc, layer) {
// Проверяем, есть ли открытый документ и активный слой
if (!doc || !layer) {
return;
}
// Устанавливаем единицы измерения в пикселях
app.preferences.rulerUnits = Units.PIXELS;
// Сохраняем начальные значения ширины и высоты слоя
var startWidth = layer.bounds[2].value;
var startHeight = layer.bounds[3].value;
// Увеличиваем изображение
layer.resize(increasePercentage, increasePercentage, AnchorPosition.MIDDLECENTER);
// Вычисляем новые размеры слоя после увеличения
var newWidth = layer.bounds[2].value;
var newHeight = layer.bounds[3].value;
// Вычисляем координаты слоя, чтобы оставить пространство вокруг увеличенной части
var x = (canvasWidth - newWidth) / 2;
var y = (canvasWidth - newHeight) / 2;
// Создаем новый документ с нужной шириной полотна
var newDoc = app.documents.add(canvasWidth, canvasWidth, doc.resolution, "Processed Image", NewDocumentMode.RGB, DocumentFill.TRANSPARENT);
// Копируем увеличенный слой в новый документ с нужными координатами
layer.copy();
newDoc.paste();
// Закрываем оригинальный документ и сохраняем изменения в новом документе
doc.close(SaveOptions.DONOTSAVECHANGES);
newDoc.saveAs(new File("~/Desktop/processed_image.png"), new PNGSaveOptions());
newDoc.close(SaveOptions.SAVECHANGES);
}
// Основная функция, выполняющая обработку всех открытых документов
function main() {
// Проверяем, есть ли открытые документы
if (app.documents.length === 0) {
alert("Нет открытых документов!");
return;
}
// Обрабатываем каждый открытый документ
for (var i = 0; i < app.documents.length; i++) {
var doc = app.documents[i];
var layer = doc.activeLayer;
// Вызываем функцию обработки изображения
processImage(doc, layer);
}
}
// Запускаем основную функцию
main();
```
В этом скрипте переменная `increasePercentage` задает процент увеличения изображения. Здесь она равна 200, то есть изображение будет увеличено вдвое. Переменная `canvasWidth` задает ширину полотна, на котором будет размещено увеличенное изображение. В данном примере она равна 800 пикселей.
Скрипт обрабатывает все открытые документы в Photoshop. Он увеличивает активный слой, вычисляет новые размеры слоя и координаты, чтобы оставить пространство вокруг увеличенной части. Затем он создает новый документ с нужной шириной полотна, копирует увеличенный слой и сохраняет результат в файл processed_image.png на рабочем столе.
Чтобы использовать этот скрипт, скопируйте его в текстовый редактор и сохраните с расширением .jsx (например, "process_photos.jsx