web-dev-qa-db-ja.com

PNG-24を最高品質のPNG-8ファイルに一括変換

品質の低下を最小限に抑え、透明性を維持しながら、大量のPNG-24ファイルをPNG-8に一括変換する優れた方法を誰かが推奨できますか?

ImageMagick を試しましたが、結果の画像は私が望むほど鮮明な品質ではありませんでした。 Paint.NET を使用すると、はるかに優れた結果を得ることができましたが、私が知る限り、このツールで一括処理することはできません。

使用するより良いオプションがある場合に備えて、 ImageMagick で使用した設定:convert file.png -depth 4 file-output.png

OptiPNG でも遊んでいますが、出力画像がPNG-8であることを確認するためのものであることがわかりません。

8
Gavin

pngquant はまさにこのためのツールです。 ImageMagickよりも優れたパレットを生成します

pngquant --quality=0-90 *.png

これにより、現在のディレクトリ内のすべてのpngファイルが変換され、色の数が自動的に選択されて、90%品質のJPEGと同様の品質が実現されます。

--qualityスイッチを受け入れない場合は、低品質バージョンがひどく古くなっているため、アップグレードする必要があります)。

6
Kornel

[〜#〜] gimp [〜#〜] 縮小されたパレットを最適化するのに適しています。 -バッチモードがあり、スクリプト化できます。また、複数のバインディングがあるため、たとえば PythonのGIMPスクリプト と書くことができます。

2
vartec

私は検索でこの素晴らしいツールに出くわしました- RIOT-ラジカル画像最適化ツール

私が必要とするすべてを行い、バッチプロセスを実行する前にサンプル画像の前後の比較を並べて表示できます。

更新

RIOTの最新バージョンでは、一部の画像がグレースケールで出力されるバグが導入されました http://luci.criosweb.ro/riot/bbpress/topic.php?id=471

1
Gavin

RIOTの代わりとして、次のコマンドラインから optipng を使用して、Windowsでディレクトリ全体を処理し始めました。

for /r %f in (*.png) do "C:\optipng-0.7.5-win32\optipng.exe" -o3 -strip all "%f"
0
Gavin