PNG圧縮ツールpngquant zopflipng

2026年10月13日

pngquant

pngquant — lossy PNG compressor

ファイルサイズが大幅に(多くの場合は70%も)縮小され、完全なアルファ透明度が維持されます。

使用法: pngquant [options] [ncolors] [pngfile [pngfile ...]]

オプション:
  --force 既存の出力ファイルを上書きします (同義語: -f)
  --nofs Floyd-Steinbergディザリングを無効にします
  --ext new.png 出力ファイル名のカスタムサフィックス/拡張子を設定します。
  --speed N 速度/品質のトレードオフ。1=遅い、3=デフォルト、10=速い&ラフ
  --quality min-max 最小以下で保存せず、最大(0-100)未満でより少ない色を使用します
  --verbose 印刷ステータスメッセージ (同義語: -v)
  --iebug Internet Explorer 6のバグを回避するために不透明度を上げます
  ●トランスバグは透明色がパレットの最後に配置されます

1つ以上の32ビットRGBA PNGを8ビット(またはそれ以下)のRGBAパレットに量子化します

pngquant.exe --ext .png --force --verbose   --speed 1 --quality=60-95 num.png

PNGoo — Windows GUI for batch conversion

zopflipng

GitHub – google/zopfli: Zopfli Compression Algorithm is a compression library programmed in C to perform very good, but slow, deflate or zlib compression.

GitHub – garyzyg/zopfli-windows: zopfli for win32 & win64

使用法: zopflipng [オプション]...infile.png outfile.png
       zopflipng [オプション]... --prefix=[ファイルプレフィックス] [files.png]...

出力ファイルが存在する場合、それは前回の実行の結果と見なされ、ファイル・サイズが小さい場合は上書きされません。

オプション:
-m:より圧縮:より多くの反復を使用します(ファイルサイズによって異なります)
--prefix=[fileprefix]: 出力ファイル名に接頭辞を追加します。ディレクトリパスを含めることもできます。プレフィックスを使用すると、複数の入力ファイルを指定することができ、出力ファイル名はプレフィックスを使用して生成されます
 --prefix を値なしで指定した場合は、'zopfli_' が使用されます。
 入力ファイル名に接頭部が含まれている場合、それらは処理されませんが、以前の実行からの出力と見なされます。これは、複数の実行で *.png ワイルドカード展開を使用する場合に便利です。
-y: ファイルの上書きについて尋ねないでください。
--lossy_transparent: アルファ チャネル 0 の背後にある色を削除します。視覚的な違いはなく、隠された情報を削除します。
--lossy_8bit:チャンネルあたり16ビットの画像をチャンネルあたり8ビットに変換します。
-d:ドライラン:ファイルを保存せず、コンソールの出力を見るだけです(ベンチマークなど)
--always_zopflify:アルゴリズムのベンチマークのために、元の画像よりも大きい場合でも、常にZopfliによってエンコードされた画像を出力します。実際の最適化には適していません。
-q:高速ですが、あまり良くない圧縮を使用します(たとえば、PNGフィルターとカラータイプのみを試す場合)
--iterations=[number]: 反復回数、反復回数が多いほど遅くなりますが、圧縮率はわずかに向上します。デフォルト: 小さいファイルの場合は 15、大きなファイルの場合は 5。
--splitting=[0-3]: 無視され、後方互換性のために残されています
--filters=[types]: 試してみるフィルター戦略:
 0-4: すべてのスキャンラインに PNG フィルター タイプ 0-4 を指定します
 m:最小合計
 E:エントロピー
 p: 事前定義済み (入力から保持、これは別の戦略と重複する可能性があります)
 B: ブルートフォース (実験的)
zopflipng.exe -y --lossy_transparent --lossy_8bit --iterations=20 --filters=0me  b.png  num.png

posterize

  image degradation MSE=31.797 (Q=20) exceeded limit of 19.479 (45)
Skipped 1 file out of a total of 1 file.

GitHub – kornelski/mediancut-posterizer: Lossy PNG compressor for RGBA PNGs. Has two modes: lossy averaging filter (blurizer) that denoises the image and optimal posterization using Median Cut quantization to reduce number of unique colors in the image with minimal visual distortion · GitHub

Usage
posterize [ -v ] [ -b ] [ -d ] [ -Q <quality> ] [ levels ] -- [ input.png ] [ output.png ]
-b — Use blurring instead of posterization (recommended). Without this argument posterization is used.
-Q num — Picks minimum number of levels needed to achieve given quality. num is quality 0-100 (100 is best, similar to JPEG). Number of levels is optional if quality is specified.
levels — Number of levels to use (2-255). Lower number gives worse quality, but smaller file.
-d — Enables simple ordered dithering in posterization mode.
-v — Verbose output. Prints mean square error (MSE) caused by posterization.
If input/output files are not specified then stdin/stdout is used respectively.

Posterized images can be further compressed using PNGOUT or similar. Try ImageOptim.



Y:\>"C:\app\PNGoo\posterize.exe" -v 100 "Y:\001_01.png" "Y:\001_0.png"
MSE=5.186 (Q=82, 100 levels)

Y:\>"C:\app\PNGoo\posterize.exe" -v 10 "Y:\001_01.png" "Y:\001_0.png"
MSE=70.644 (Q=4, 10 levels)

etc,windows,画像

Posted by eightban