Photoshopのスクリプトで書き出したPNGファイルのサイズが大きすぎる場合の対応
スクリプトでPNGファイルの書き出しを行っていたところ
あまりにもファイルサイズが大きくなりすぎるため色々調べてみた。
・環境
Photoshop CC v22.3.1
Photoshop Javascript(Photoshop JSX)で作成したスクリプトでPNGを出力してみると
明らかにクイック書き出しとファイルサイズが違う。
オプションのせいかなと思ってinterlacedをオフにしてみたりしても変わらず。
メタデータも関係なさそう。
色々と調べたところ出力方法自体が違っていたようでした。
参考生地
log.nissuk.info
saveAsじゃあかんのですね。
処理は最終的にこんな感じになりました。
/* 変更前 var options = new PNGSaveOptions(); options.interlaced = false; options.compression = 1; var file = new File(filePath); this.document.saveAs(file, options, true, Extension.LOWERCASE); */ var options = new ExportOptionsSaveForWeb(); options.format = SaveDocumentType.PNG; options.optimized = true; options.interlaced = false; var file = new File(filePath); this.document.exportDocument(file, ExportType.SAVEFORWEB, options);