pngクラッシュ 1.8.13 | |
| 開発者 | グレン・ランダース・パーソン |
|---|---|
| 安定版リリース | 1.8.13 [1]
/ 2017年8月29日[2] |
| リポジトリ |
|
| 書かれた | C |
| オペレーティング·システム | クロスプラットフォーム |
| タイプ | 画像最適化ツール |
| ライセンス | libpngライセンスに類似 |
| Webサイト | pmt.sourceforge.io/pngcrush/ |
pngcrush は、 PNG画像ファイルを最適化するための無料のオープンソース コマンドラインユーティリティです。ファイルのサイズをロスレスに縮小します 。つまり、結果として得られる「圧縮」画像は、ソース画像と同じ品質になります。
pngcrush の主な目的は、圧縮方法とデルタ フィルターのさまざまな組み合わせを試して、 PNG IDAT データ ストリームのサイズを縮小することです。また、ビット深度の変更、不要な補助チャンクの削除 、gAMA、tRNS、iCCP、テキスト チャンクなどの特定のチャンクの追加など 、PNG 画像のさまざまな操作にも使用できます。
主な操作
pngcrush の主な用途は、IDAT セクションに含まれる画像データのサイズを縮小することです。
PNG ファイル内のピクセル データは、LZ77アルゴリズム (ソース データ内の繰り返しバイト シーケンスの検索を試みる) を使用して圧縮され、その後、ハフマン アルゴリズムを使用してさらに圧縮されます。この組み合わせは、デフレート圧縮と呼ばれます。圧縮する前に、非破壊デルタ フィルターがピクセル データに適用されます。
各スキャンラインに個別に指定できるフィルターの種類は 5 つあり、LZ77 の一致を検索するための戦略もいくつかあります。したがって、画像を圧縮する方法の組み合わせは非常に多くあります。どの組み合わせが最適な圧縮をもたらすかは、個々の画像の特性によって異なります。[3]
pngcrushは複数の異なる組み合わせで画像を圧縮し、結果のファイルのうち最小のものを保存します。[4]すべての組み合わせを試すことは不可能なので、pngcrushはヒューリスティックを使用して試す方法を選択します。
デフォルトでは、pngcrush はファイルを圧縮するためにいくつかの一般的な方法のみを使用します。オプションの「-brute」引数は、ブルート フォース圧縮に使用できます。ブルート フォース圧縮では、バージョン 1.8.12 以降では 176 種類の圧縮方法が、バージョン 1.7.45 から 1.8.11 では 148 種類の圧縮方法が試されます。
色補正データを削除してファイルサイズを縮小
pngcrushの機能の一つは、PNGファイルからすべての色補正データ(ガンマ、ホワイトバランス、ICCカラープロファイル、標準RGBカラープロファイル)を削除する機能です。[5]
ほとんどのグラフィック ソフトウェアは、通常は必要のない余分な色補正データを埋め込むため、[誰によると? ]それを削除すると、ファイル サイズが元のサイズより最大 40% 小さくなります。pngcrush は、指示に従って、画像のビット深度をロスレスで削減するか、可能であればカラー パレットを適用して、ファイル サイズが小さくなるようにします。補助チャンクとテキスト チャンクはすべて削除できます。
画像操作
pngcrush を使用すると、画像のカラー エンコーディングを変更できます。たとえば、画像に 10 色が含まれており、カラー パレットが 256 エントリ (8 ビット) である場合、pngcrush を使用してカラー パレットを 4 ビットに減らし、パレットを 10 エントリに切り捨てることができます。
pngcrush は、イメージのカラー タイプを変更することもできます。トゥルーカラー イメージの場合、カラー タイプを 2 から 0 に変更すると、グレースケールに変換されます。グレースケール イメージは、オプションのアルファ チャネルに加えて、ピクセルごとに 3 つではなく 1 つの 8 ビット チャネルのみが使用されるため、通常、トゥルーカラー イメージよりも小さくなります。グレースケール イメージは、カラー パレットを定義する必要がないため、通常、パレット イメージよりも小さくなります。トゥルーカラー アルファ イメージの場合、カラー タイプを 6 から 2 に変更すると、アルファ チャネルが削除されます。
チャンクとメタデータの操作
PNG 画像には、解像度 (phys チャンク)、最終変更時刻 (tIME チャンク)、テキスト メタデータ (テキスト チャンクとそのバリエーション) など、画像に関する情報を含むチャンクが含まれています。pngcrush を使用すると、ユーザーはこれらの補助チャンクを編集または削除できます。
参照
参考文献
- ^ 「pngcrush changelog」。2018年7月27日閲覧– SourceForge経由。
- ^ 「PNG および MNG ツール - SourceForge.net で /pngcrush/1.8.13 を参照」。2017 年 8 月 29 日。2018年7 月 27 日にSourceForge経由で取得。
- ^ Cosmin Truta (2008 年 5 月 10 日). 「PNG 最適化ガイド」 . 2010 年7 月 31 日閲覧。
- ^ デイヴィッド・ウェドン「man pngcrush」 。 2010年7月31日閲覧。
- ^ Sivonen, Henri (2003年4月21日). 「PNGガンマ「訂正」の悲しい物語」 . 2017年9月8日閲覧。
さらに読む
- Souders, Steve (2009)。さらに高速な Web サイト: フロントエンド エンジニアに必須の知識。O'Reilly Media。p. 142。ISBN 978-0-596-52230-8。
- Sayood, Khalid (2003)。ロスレス圧縮ハンドブック。Academic Press。pp. 386–388。ISBN 0-12-620861-1。
外部リンク
- 公式サイト
- Win32 コンソール用の pngutils
- CloudFlareによって開発された、 SSE2 + 命令を使用して最適化されたzlibを備えた pngcrush フォーク
