all green

プログラム、アプリ作成、Web等備忘録が中心です

Photoshopのスクリプトで書き出したPNGファイルのサイズが大きすぎる場合の対応

スクリプトPNGファイルの書き出しを行っていたところ
あまりにもファイルサイズが大きくなりすぎるため色々調べてみた。


・環境
Photoshop CC v22.3.1



Photoshop JavascriptPhotoshop 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);