こんにちは、Habr!
それで、2番目の時が来ました、そして、私は、待望の部分を望みます。 大修道院長は
最初の部分を読むことを推奨しています。 このパートでは、理論から実践に移ります。つまり、複雑な画像最適化のための小さなプロジェクトを示します。
Image Catalystは、同じフォーマット内で品質を損なうことなく、PNGおよびJPEG画像を包括的に最適化/圧縮するためのプログラムのコレクションです。 Webページを使用して、グラフィック要素(特にスプライト)の読み込みを高速化することは理にかなっています。
私はすぐにあなたに警告したい、私はこのアプリケーションの操作については責任を負いません。 このアプリケーションは自己責任で使用してください。 最適化を行う前に、望ましくない効果を避けるために画像をバックアップし、この記事を注意深く検討することを強くお勧めします。Image Catalyst 2.0
はここから ダウンロードできます (Windowsのみ)。
PNG最適化ツール
次のアプリケーションは、PNG画像の包括的な最適化に使用されます。
これらのアプリケーションについては、前半で詳しく説明しました。
JPEG最適化ツール
JPEG画像の包括的な最適化には、次のアプリケーションが使用されます。
これらのアプリケーションについても、前半で詳しく説明しました。
追加ソフトウェア
今日、このアプリケーションも使用されています-
2010年2月7日の
iniTool 1.20。
PNG最適化
PNG最適化オプション
起動時にブラウザに画像を表示する両方の方法がサポートされています。
- ノンインターレース-ブラウザは、情報がネットワークから到着すると、上から下に順番にダウンロードします。
- インターレース-ファイルが完全にダウンロードされるまで、ブラウザの画像は低解像度で表示されます。 インターレースディスプレイは、主観的なダウンロード時間を短縮し、画像がロードされていることをユーザーに示しますが、インターレースディスプレイはファイルサイズも大きくなります。
PNG最適化アルゴリズム
PNG最適化パラメーターに基づいて、次の最適化アルゴリズムが作成されました。
- ノンインターレース-ノンインターレース最適化パラメーターを使用します。
- インターレース-インターレース最適化パラメーターを使用します。
- デフォルト-イメージを最適化しますが、最適化パラメーターは変更しません。
PNG最適化モード:
最後の部分では、PNGの最適化に時間がかかるほど最適化の度合いが高くなるため、いくつかの最適化モードが開発されたと述べました。
- 高速-圧縮率と最適化速度は非常に高速です。
- 通常-高速モードと比較して、最適化速度は平均で3倍低く、圧縮率は平均で1.5%高くなります。
- Xtreme-通常モードと比較して、最適化速度は平均で4倍低く、圧縮率は平均で1%高くなります。
場合によっては、圧縮率が10%以上高くなることがあります。
JPEG最適化
JPEG最適化オプション
起動時にブラウザに画像を表示する2つの方法がサポートされています。
- 最適化-わずかに小さいファイルサイズで改善されたJPEGファイルを作成します。 ブラウザーは、ネットワークから情報が来ると、上から下に順番にそれらをダウンロードします。
- プログレッシブ-画像は一連のオーバーレイとして表示されます。これにより、完全に読み込まれるまで、つまり低解像度で画像を表示できます。 最初に低品質の画像が表示され、次にグラフィック情報が到着すると画像の品質が徐々に向上します。 8番目のバージョンを含むInternet ExplorerはプログレッシブJPEGダウンロードをサポートしていません。ファイルが完全にダウンロードされた後にのみ表示されます。これは、ダウンロード中に画像が上から下に表示される「従来の」JPEGの動作とは大きく異なります。
JPEG最適化アルゴリズム
JPEG最適化パラメーターに基づいて、次の最適化アルゴリズムが作成されました。
- 最適化-最適化最適化パラメーターを使用します。
- プログレッシブ-プログレッシブ最適化パラメーターを使用します。
- 最大-最適化方法によって最適化およびプログレッシブによって取得された画像はサイズによって比較され、最小サイズのファイルが選択されます。画像サイズが10 KB未満の場合は、それを使用するのが理にかなっています。
- デフォルト-イメージを最適化しますが、最適化パラメーターは変更しません。
最適化ツール
- デフォルトでは、同時PNG画像処理スレッドの数はプロセッサのコア数に等しくなります。同時スレッドの数を変更する場合は、テストエディターでTools \ config.iniファイルを開き、指示に従います。 同時スレッドの数をプロセッサのコアの数より大きく設定することはお勧めしません。
- デフォルトでは、PNGおよびJPEG画像は指定されたフォルダーのサブフォルダーで最適化されます。この機能を無効にするには、テストエディターでTools \ config.iniファイルを開き、指示に従います。
- デフォルトでは、Images.cvsファイルが作成されます。このファイルを作成したくない場合は、テストエディターでTools \ config.iniファイルを開き、指示に従ってください。
- デフォルトでは、JPEGファイルを最適化すると、すべてのメタデータが削除されます。特定のメタデータを削除したくない場合は、テストエディターでTools \ config.iniファイルを開き、指示に従います。
- デフォルトでは、PNGファイルを最適化するときにすべてのチャンクが削除されます。特定のチャンクを削除したくない場合は、テストエディターでTools \ config.iniファイルを開き、指示に従ってください。
- デフォルトでは、PNGファイルを最適化するときにColorTypeおよびBitDepthパラメーターの最適化が適用されます。これらのパラメーターを変更しない場合は、テストエディターでTools \ config.iniファイルを開き、指示に従います。
- デフォルトでは、アルファチャネルを使用してPNGファイルを最適化する場合、「ダーティトランスペアレンシー」機能が使用されます。このシステムを使用しない場合は、テストエディターでTools \ config.iniファイルを開き、指示に従います。
- 1回のイメージ最適化セッションでImage Catalystの複数のコピーを実行することはお勧めしません。
- 画像の名前および/またはアドレスに&^%!などの文字を含めることはできません。
ご協力ありがとうございます
私は
x128と
res2001に別々に感謝したかった(記事が+100になったら、招待状を送る)。これらの人々がいなければ、私のプロジェクトはほとんど実現できなかった。 また、Image Catalystで使用されているアプリケーションの作成者全員に感謝したいと思いました。
競合他社についての一言
ここでは、競合他社について、またはむしろそれらの1つについていくつかの言葉をお話しします。 私は彼を立派な競争相手だと思っています。
ScriptPNGと
ScriptJPGは非常に興味深いプロジェクト
です 。ImageCatalystと
は異なり、PNG画像とJPEG画像の最適化は2つの別々のプロジェクトに分割され、並列PNG最適化はサポートされていません。 また、プロジェクトの
ウェブサイト自体にアクセスすることもお勧めします。 最近、PNG最適化に関する記事が登場しました。
そして、多くはありません...
品質を損なうことなくJPEGを最適化するために特別に作成された1つのかなり興味深いプロジェクト、JPGCrushがあります。これは、JPEGTranのアドオンです。 JPEGをプログレッシブ形式でのみ作成します。 唯一の欠点は、* nixシステムでのみ機能することです。 誰かがこの問題で私を助けることができるならば、PMで連絡してください。
私のプロジェクト用にGUIを作成するのは良いことですが、GUIを実装する時間と意欲がある人がいれば、そのような知識はありません。