【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 ファイルを選択して実行します。

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

返信を残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

CAPTCHA