web-dev-qa-db-ja.com

irfanviewPNGコンバーターを使用して既存のアルファチャンネルを保持する

私はさまざまなツールを試しましたが、最高の圧縮設定でPNGに変換すると、Irfanviewが有望な結果をもたらすことがわかりました。

私が遭遇した問題の1つは、元の画像にアルファチャネルが設定されている場合です。 IrfanviewのPNGコンバーターには、「透明色を保存」というオプションがあり、透明色として使用する色を選択できますが、サンプリング元の画像はRGBのみをレンダリングするため、これは適切な方法ではありません。多くの画像エディタは、透明セクションのRGB値(値0)を(0、0、0)(Paint.NETなど)または(255、255、255)に設定するだけです(imagemagickはこれを行います)

透明色を黒ピクセルに設定すると、すべての黒ピクセルが透明になりますが、これは望ましくありません。

Irfanviewは、ソース画像がRGB24かRGBA32かを自動的に検出し、適切な形式に自動的に変換する方法を提供しますか? (RGB24 => RGB24、RGBA32 => RGBA32)。 PNGOUTプラグインのオプションについてはあまり調べていませんが、「自動」オプションが期待どおりに機能していないようです。そのため、各チャンクを最適化するために時間を費やしたくありません。とにかく節約はそれほど重要ではありません。

(そうでなければ、imagemagickの品質オプションをより深く調べるかもしれません)

6
MxLDevs

IrfanViewは何よりもまず画像表示アプリケーションであり、画像編集アプリケーションではありません(ただし、アプリケーション内には多くの便利なツールがあります)。アルファチャネルの保存に関しては、IrfanViewは非常に制限されています。これは IrfanViewフォーラム でも説明されています:

Irfanviewは基本的に画像ビューアです。アルファチャネルは、背景に対してレンダリングするために使用されます。その後、alphachannelはなくなります。アルファチャネルを維持することは、より多くのメモリを使用することを意味し、すべての画像操作で処理する必要があります。これは、多くのコードを書き直すことを意味します。

さまざまなツールを使用して、編集中にアルファチャネルを保持します(Paint.NETなど)。

主にPNGファイルの圧縮を検討している場合は、 ImageOptim (Macを使用している場合)、 Trimage (Linux)、または FileOptimizer)を確認することをお勧めします。 (Windows、注意:アドウェアのようです)。

ImageMagickを使用したい場合は、 alpha パラメーターを確認してください。私があなたを正しく理解しているなら、あなたが必要としているのは-alpha set

1
hanjo