携帯Flash向け:PNG画像の最適化バッチファイル

主にモバイルFlash向けに、PNG画像を減色→最適化するバッチファイルです。
アルファチャネル付きの24ビットPNG画像も減色、最適化できます。

使い方

  1. pngquantPNGrewriteOptiPNGPNGOUTをそれぞれダウンロードし、解凍します。
  2. 以下のコードをメモ帳にコピー&貼り付けします。
  3. SETLOCAL
    ::------------------------------------------------ここから設定項目
    ::何色きざみで減色を行うか、イコール(=)の右側に数値を半角で入力してください。
    SET /A color=16
    ::軽量化処理に使用する各ソフトのファイルパス(それぞれのソフトを解凍した場所)を、イコール(=)の右側に入力してください。
    SET pngquant=pngquant-0.95-win32\pngquant.exe
    SET pngrewrite=pngrewrite-1.3.0\pngrewrite.exe
    SET optipng=optipng-0.6.1-exe\optipng.exe
    SET pngout=pngout.exe
    ::------------------------------------------------ここまで設定項目
    md result\fullcolor
    copy "*.png" result\fullcolor\
    %optipng% result\fullcolor\*.png -o7
    for %%V in (result\fullcolor\*.png) do %pngout% /y %%V %%V
    for /L %%M in (%color%,%color%,256) do md result\%%Mcolor
    :LOOP
    SET /A clr+=%color%
    IF %clr% GTR 256 GOTO END
    %pngquant% %clr% *.png
    move "*-fs8.png" result\%clr%color\
    for %%R in (result\%clr%color\*.png) do %pngrewrite% %%R %%R
    %optipng% result\%clr%color\*.png -o7
    for %%V in (result\%clr%color\*.png) do %pngout% /y %%V %%V
    GOTO LOOP
    :END
    ENDLOCAL

  4. 説明にしたがい、設定項目を記入したらお好きなファイル名で保存します。
  5. 保存したテキストファイルの拡張子を「.txt」から「.bat」に変更します。
  6. このバッチファイル(.bat)と同じフォルダに最適化したいPNG画像をコピーします。
    圧縮したいPNG画像が複数枚ある場合は、すべてコピーしてください。
    (同じフォルダにあるすべてのPNGファイルが最適化されます)
  7. バッチファイルを実行すると、最適化処理が始まります。
    終了までしばらくお待ちください。
  8. バッチファイルのあるフォルダに、「result」という名前のフォルダができます。
    このフォルダの中に、減色&最適化済みのPNGファイルが色数別に保存されます。

利用上の注意

    変換後のPNGファイルはアルファチャンネル付きインデックスカラーPNGです。
    photoshop等の画像編集ツールで正常に開けない場合がございますので、必ずバックアップをとってください。

高圧縮になった分、展開にHeapメモリを消費しないかどうかが若干心配になり
こちらの記事のサンプルデータで比較してみたのですが、全く変わりませんでした。
どの圧縮方式を利用しても変わらないのかな。

このバッチファイルは各種最適化ツールを順番に実行しているだけなので、PNGgauntletやBlastPNGとやってる事は大体同じです。
重ねがけはそんなに意味がないので、最近はこれ1つで全て済ませています。