ひとりごと

新しい記事:[1042]  古い記事:[1040] 表示単位 :

ついったー[おとなり日記] かがみさん Y.Kumagaiさん

2003/12/13 (土)

・ PNGとガンマ値

前からちょっとちょっと気になっていたのですが、Painterで描いた絵をPaintShopProを使って PNG 及び JPEG 形式で保存したとき、Microsoft Internet Explorer で表示するとそれぞれの色がちょっと違うのですね。

確認するために、グレイのバーを作成したものと、一旦PNGで保存したものをMS-IEで表示後 'PrintScreen'キーでキャプチャしたもの を比較したのが下図。

↓そのまま


↑PNGで保存したものをキャプチャ
ちょっと暗くなっているのがわかると思います。グラフにするとだいたいこんな感じ。

さて、私はInternet Explorerの仕様をぜんぜん知らないのでこういう事が起こる理由はわかりません。が、推測するのは簡単でして、PNGはフォーマットの中に埋込ガンマレベルがありますので、PaintShopProで保存したときに埋め込まれたガンマ値を利用してInternetExplorerが補正して表示した結果 色が変わってしまったということなのでしょう。

とはいえ、Windows←→Mac 間ならともかく、同じPCで保存したときと表示するときで色が変わっているのは面白くありません。ということで、何か良い方法はないか試して見ることにしました。

PaintShopProのガンマ値を調整する
オプションの中にガンマ設定の調整というのがあって、スキャナドライバとかでよく見かける べた塗り/網掛けの色が同じように見えるようにする項目があります。これを設定した後 PNG 保存してみたのですが、ファイルそのものは特に変化はありませんでした。てゆーか、これを変更するとPainterで描いた絵が妙に白っぽくなります。さわらないほうが吉。
Internet Explorerを使わない
実は Mozilla や Netscape で表示されたときは問題がありません(笑)
PaintShopProを使わない
PSPで作成したPNGファイルを ImageMagick にて調べてみました。
% identify -verbose ほにゃらら.png
Format: PNG (Portable Network Graphics)
(略)
Gamma: 0.45455
(略)
ふむふむ、なんかよくわからんけど Gamma 0.45455 なのだそうです。で、PSPでPNG保存せずに一旦 BMP 保存したものを ImageMagick にて
% convert ほげほげ.bmp ほげほげ.png
して変換すると、identify ではGammaの行が出てこなくなりました。こいつをInternetExplorerに食べさせてみますと、今度はちゃんと元通りの色で表示されるのですねー。ふむふむ、ガンマ値は埋め込むこともできるけど埋め込まないこともできるのですね。

ImageMagickだとOKなんだから・・・ということで、調子に乗って
% convert foo.png tmp.bmp
% convert tmp.bmp foo.png
とやってみると、なんと 'Gamma: 1e-05' などという訳のわかんないことになってしまいました(笑)。できたpngファイルをIEに食べさせると画像ファイルとは認識せず、お絵かきソフトに食べさせるとよくわかんないがたがたのシルエットのような絵が表示されました。どうも万能薬とはいえないようです。

ということで、実験のまとめ。それぞれ横に並べたものをキャプチャしてみて、髪の毛のところの色を拾ってみました。

原本(基準)
PSPでPNG保存×
同上、モニタガンマ調整(1.35)×
BMP保存、ImageMagickでPNG変換
JPEGで保存
MozillaでPNG表示

う~む、PSPでPNG保存はちょっとマズいのかもしれませんなー。いや、どうせガンマ値など固定長ヘッダ部分に書いてあるだけだろうから保存した後でどうにでもなるかな? しかし、どっちにしても面倒くさいし、うまい方法を考えなくてはなりません。

# そんなに大きくは変わらないので気にしないというのが簡単で良いかも(^^;)
[つっこみ]

新しい記事:[1042]  古い記事:[1040] 表示単位 :
※このページへのリンクは自由です。リンクの方法については[つっこみ]で表示されるページの最後をごらんください。
たかたに(takatani@mars.dti.ne.jp)