品質の低下を最小限に抑え、透明性を維持しながら、大量のPNG-24ファイルをPNG-8に一括変換する優れた方法を誰かが推奨できますか?
ImageMagick を試しましたが、結果の画像は私が望むほど鮮明な品質ではありませんでした。 Paint.NET を使用すると、はるかに優れた結果を得ることができましたが、私が知る限り、このツールで一括処理することはできません。
使用するより良いオプションがある場合に備えて、 ImageMagick で使用した設定:convert file.png -depth 4 file-output.png
OptiPNG でも遊んでいますが、出力画像がPNG-8であることを確認するためのものであることがわかりません。
pngquant はまさにこのためのツールです。 ImageMagickよりも優れたパレットを生成します 。
pngquant --quality=0-90 *.png
これにより、現在のディレクトリ内のすべてのpngファイルが変換され、色の数が自動的に選択されて、90%品質のJPEGと同様の品質が実現されます。
(--quality
スイッチを受け入れない場合は、低品質バージョンがひどく古くなっているため、アップグレードする必要があります)。
[〜#〜] gimp [〜#〜] 縮小されたパレットを最適化するのに適しています。 -バッチモードがあり、スクリプト化できます。また、複数のバインディングがあるため、たとえば PythonのGIMPスクリプト と書くことができます。
私は検索でこの素晴らしいツールに出くわしました- RIOT-ラジカル画像最適化ツール
私が必要とするすべてを行い、バッチプロセスを実行する前にサンプル画像の前後の比較を並べて表示できます。
更新
RIOTの最新バージョンでは、一部の画像がグレースケールで出力されるバグが導入されました http://luci.criosweb.ro/riot/bbpress/topic.php?id=471
RIOTの代わりとして、次のコマンドラインから optipng を使用して、Windowsでディレクトリ全体を処理し始めました。
for /r %f in (*.png) do "C:\optipng-0.7.5-win32\optipng.exe" -o3 -strip all "%f"