Ответы пользователя по тегу Обработка изображений
  • Как решить проблему с экшенами?

    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 с сохранением исходного имени.
    Ответ написан