PNGのチャンク

  • []

PNG画像がやっかいだ。困った点が二つある。ひとつは、アルファ値を持つ時にアルファチャンネルとして持つことができず、透明度を持つレイヤーとして扱われる点。何が問題かと言うと、透明にしたい部分を消しておかなくてはいけないので、修正をする必要があると消した部分を復活できない。そのために、作業用のファイルを別に用意する必要がある。

そして、もう一つ。PNG内部は「チャンク」という項目に分かれていて、ファイルに画像情報だけでなく「その他情報」を持つ事ができるのだが、Photoshopではそれを切ることができない点。チャンクの中にはガンマ値が記述されていて明るさが調整されるのだが、ゲームやWebコンテンツ作成では出力が画像だけで完結しないので、他の要素と差が出てしまう。例えば、PNG画像の後ろに同色の背景をひきたい場合。背景もPNG画像でなかったら、色を統一するのが難しい。

これは、PhotoshopからPNGで保存せず、PSDやBMP等で保存してから他アプリでPNGにすることで対応できるのだが、工程が増え能率は悪い。一度にできればいいのに。いろいろ調べてみると、いくつかツールがあるようだ。その中でも使えそうなものをピックアップ。

SuperPNG (fnord)
PhotoshopのPNGファイル出力プラグイン。その他情報チャンクを切って出力することができる。圧縮効率等、画質に関する調整もできるようだ。ただ、インデックスカラーには対応していない。インストールの時、Photoshop純正のプラグインを削除する必要は無く、保存時のファイル形式選択には SuperPNG と表示され、混同せず併用できる。

PNGDIET (MoNoChRoMe)
PNGファイルに対して最適化を行う。ガンマ値をはじめ、画像データ以外のチャンクを選択的に削除できる。Photoshopで保存したPNGファイルも、これでガンマ値の問題が無くなる。おしいのは、1ファイルごとにしか加工ができない点。大量にPNGファイルがあると大変。

ルイちゃんくLE (ルイルイあぷり)
PNGファイルからガンマ値、色温、ICCプロファイルのチャンクを削除。ファイル複数読み込みに対応している。

GIFのLZW圧縮特許問題で代替フォーマットとして注目されたPNG。GIFよりも高機能で、Webブラウザでも表示できる。JPEGと違って可逆圧縮なのがいい。自分も個人的には時々使ってきたのだけど、少量だったので問題点はさほど支障なかった。しかし、仕事のデータで使うことになると、きちんとしたデータが求められる。