【PhotoShop】AMP用に画像を一括でリサイズしてみる

Googleが、AMP用の画像サイズは1200px 以上を推奨していたので、

www.nanigoto.net

PhotoShop で フォルダ内の画像を一括でリサイズするプログラムを作りました。

resize1200px.jsx というファイル名にしました。

folderPath = "";

start();

function start()
{
    var folderObj = Folder.selectDialog("1200pxにリサイズしたいファイルがあるフォルダを選択してください");
    
    if(folderObj==null){
        return;
    }

    readFolder(folderObj);
    
    alert("完了!");
}

function readFolder(folderObj)
{
    var fileList = folderObj.getFiles("*.*");
    var i;
    for(i=0; i<fileList.length; i++)
    {
        var file = fileList[i];
        if (file.constructor.name === "File") { // file
            if(file.fsName.indexOf(".jpg") > -1){
                resizePSD(file.fsName);
            }
        } else if(file.constructor.name === "Folder") { // folder
            readFolder(file);
        }
    }
}

function resizePSD(psdname)
{
    open(File(psdname));
    var fileObj = new File(psdname);
    var isOpen = fileObj.open("e");
    if (isOpen == true)
    {

        jpegOpt = new JPEGSaveOptions();
        jpegOpt.embedColorProfile = true;
        jpegOpt.quality = 3;
        jpegOpt.formatOptions = FormatOptions.PROGRESSIVE;
        jpegOpt.scans = 3;
        jpegOpt.matte = MatteType.NONE;
        
        var arr = psdname.split("/");
        var rename = arr[arr.length - 1];
        var layername = rename;
        var filename = rename;
        
        var layObj = activeDocument;
        var layObjChild;
        var i;
        for (i=0; i<layObj.layerSets.length; i++)
        {
            layObjChild = layObj.layerSets[i];
            layObjChild.name = layername;
        }
        
        preferences.rulerUnits = Units.PIXELS;
        var w = 1200;
        activeDocument.resizeImage(w,undefined);
    
        activeDocument.saveAs(fileObj, jpegOpt, true, Extension.LOWERCASE);
        activeDocument.close(SaveOptions.DONOTSAVECHANGES);

    }
}

画像のサイズが大きくなっても、フォトショップで書き出すことによって、だいぶ容量が軽くなると思います。

もう少しキレイに書き出したい時は、quality の部分で調整します。

PhotoShop → ファイル → スクリプト → 参照 から、resize1200px.jsx ファイルを選択して実行します。

次に、リサイズしたい画像が入ったフォルダを選択します。