とにかく奥が深い。何かやろうとするたびに、膨大なbackgroundに押し潰されそうになる。

フォーマット *

画像の持つ情報量は多いので、ファイルの形式としては何らかの圧縮を施すのが通例であり、その方法の違いなどにより様々なファイル形式が存在する。一般に、写真画像ならjpegが適し、白の背景に黒の三角形を描きました、みたいなエッジのきいた人工的な図形ならPNGの方が適する場合が多い。

RGBとグレースケール *

一般的なPC上で、色は赤・緑・青(RGB)の各々の強度(加色混合)で表現される。ここで「いやいや私はグレースケールで充分です」と謙遜したつもりでも、色々と方式があって余計に頭を使う破目に陥った。しかし世の中広いもので、幾つかすばらしい解説が与えられていた。

PNG *

Portable Network Graphics のことで、GIFの後継として開発されたそうだ。

ライブラリ *

プログラムからPNGを扱うためにはzliblibpngが必要となる。ソースもバイナリも手に入るが、ソースを持ってきてもVisual Studio用のプロジェクトが付属するのでビルドは楽である。プロジェクトを開いて ビルド => アクティブな構成の設定 から好きなものを選ぶだけでよい。

PNGファイルフォーマット *

GDI+ *

Windowsにおいて、標準の画像フォーマットは所謂「ビットマップ」であるが、それ以外のjpegといったフォーマットの方が巷で専ら使用されている。GDI+は、そういった様々のフォーマットの画像(BMP, GIF, JPEG, PNG, TIFF, EMF)を扱うためのライブラリ。(だそうだ。まだ使ってない)

platformSDKが必要みたいだ。