スクリプトでPhotoshopのWeb用に保存(PNG-8)を実行

PhotoshopのWeb用に保存(PNG-8)を実行するスクリプトです。

// https://qiita.com/dot_Esu/items/5603a9ac39b85ac87752
// https://www.kickbase.net/entry/create-intermediate-directories-script
// https://stackoverflow.com/questions/4537506/photoshop-jsx-set-activedocument-to-currently-open-document
// http://www.openspc2.org/book/PhotoshopCC2014/
// https://qiita.com/r-ngtm/items/65f26b1f782f72b18d2a
// https://code.i-harness.com/ja/q/2e984
// https://qiita.com/kyoshiro-obj/items/3c59f14b37a0d7b7d59f


var saveFolder = mkdirp('~/Desktop/'); //保存フォルダ。無ければ作成。

var dName = 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, function(c) {
var r = Math.random()*16|0, v = c == 'x' ? r : (r&0x3|0x8);
return v.toString(16);
});

var savename = dName;

fileObj = new File(saveFolder + savename + '.png');
imageWriting(fileObj);

function imageWriting(fileObj) {
pngOpt = new ExportOptionsSaveForWeb();
pngOpt.format = SaveDocumentType.PNG;
pngOpt.optimized = true; //最適化する
pngOpt.PNG8 = true; //falseの場合png24(透過)
pngOpt.colors = 256; //パレットのカラー数 デフォルトは256
pngOpt.dither = Dither.NONE; //DIFFUSION,NOISE,NONE,PATTERN の中から選択
pngOpt.interlaced = false; //falseでインタレース無効
pngOpt.includeProfile = false; //trueの場合プロファイルを含む
activeDocument.exportDocument(fileObj, ExportType.SAVEFORWEB, pngOpt);
}

function mkdirp(path) {
var fullPath = "";
path = path.toString();
var arr = path.split("/");
for (var i = 0; i < arr.length; i++) {
var folderName = arr[i];
fullPath += folderName + "/";
var folder = new Folder(fullPath);
if (!folder.exists) folder.create();
}
return fullPath;
}

PNG-24での保存はこちらJPEGでの保存はこちら

更新履歴

inserted by FC2 system