C#ガンマの理解のためにも、実際に画像に保存される色の値を調べたい時があります。先日「Photoshopでリニアな状態で作業する」という記事を書いた後に気になったので、こちらのサイトの解説を参考に、Photoshopで保存したBMPの中身をバイナリエディタ「Stirling」で調べてみました。それから、ウェブ上で2進法を10進法に変換してくれるサイトはこちら。実際にPhotoshopで50%グレーの画像を作成し、作業用スペースをsRGBに設定した状態のものとLinearに設定した状態のものとをそれぞれBMPで保存。バイナリエディタでBMPの中身を確認する「Stirling」で開いてみると、どちらのBMPも「7F」で埋め尽くされています。この7Fが色の値ですが16進数なので10進数に変換します。先ほどのサイトで調べてみると「127」と分かりました。中間グレーの値がそのまま保存されています。バイナリエディタで確認した2つの画像の中身はヘッダ情報も含め完全に一致しており、Photoshop(CS6)からBMP保存時にはカラープロファイル情報のチェックボックスがグレーアウトしますが、これで実際に保存されていないことが確認できたのではないかと思います。※1:ググってみて出てきた記事によると、BMPには一応カラープロファイルを埋め込める仕様になっているそうですが対応しているアプリケーションはほとんどないとのこと※2:PhotoshopからだとPSDは当然ですが、JPEGも保存時にカラープロファイルを埋め込めるようで、Photoshopで開くと保存前と同じカラー設定が適用されますが「Stirling」で調べるとsRGBで保存したファイルとリニアで保存したファイルの差異が激しかったのでそっ閉じしましたつまりPhotoshop上でどのカラースペースで作業しても、ディスプレイへの出力結果が変わるだけで、画像自体の色の値には影響が無いことが分かります。自分は最近までこのあたりモヤモヤしていたのですがこれでスッキリしました。Toolついでに、画像の色の値を調べるツールをC#で作ってみました。制作時間はデバッグ含め2時間くらい。放り込んだ画像サイズに合わせてレイアウトを崩さず丁度良いウィンドウサイズに広げるのに少し手間取りました。ソリューション一式をGitHubにアップしています。GitHubはこちら。Zipファイルはこちら。ライセンスはMITです。大きな枠内に画像をドラッグ&ドロップして放り込んだ後、画像内をクリックすると「画像ファイルに保存されている色の値」をツール右側に表示します。※追記:PictureBox内で補間の入る拡大縮小をしたりなど加工していなければ画像に保存された値と同じ値が取得できているは思うのですが..このあたり何か判明したらまた追記したいと思いますツール上での表示自体はsRGBになっているのではないかなと。中間グレーのBMPファイルを作業用スペースがsRGBの状態で保存したものとリニアのものと放り込んで色の値を見てみたところ、どちらも「127」であることが確認できました。JPEGでもBMPでも同様でした。なりました)以前からガンマについて検証する際に画像をスクリーンショットで保存したりブラウザで表示することに正確性があるのか色々と不安がありましたが、ガンマ2.2かリニアかが比較できれば良いと思うので気にするほどではないですかね。使う文字列をコピペするための補助ツール作りました。こちらからDLできます。)連絡先moko.vfx★gmail.comお気軽にご連絡くださいはてなブログをはじめよう!moko_03_25さんは、はてなブログを使っています。ブログを報告する引用をストックしましたストック一覧を見る閉じる引用するにはまずログインしてくださいログイン閉じる引用をストックできませんでした。再度お試しください閉じる限定公開記事のため引用できません。