--間違い・誤字脱字を発見した場合はメールまたはBBSでお知らせください。Bitmap)のフォーマットは情報ヘッダのちがいによってOS/2用とWindows用の2種類が存在しますが、ここではWindows用のみ取り扱います。16bit、32bitビットマップについては一般にあまり使われない形式なので省略しています。Encoded)についても使う機会は少ないと思うので、これも省略します。画像をディスクにファイルとして保存するためのグラフィックオブジェクトである。Bitmap(略してDIBと呼ばれる)を、ファイルに保存したものである。拡張子は.BMPである(拡張子.DIBもある)。無圧縮で使用されることのほうが圧倒的に多い。Bitmap)がある。初期のWindowsではDDBが開発者の扱える唯一のビットマップであった。その後、技術が向上し表示デバイスが多様化するのに伴って、デバイスに依存しないかたちで画像を扱えるDIBが開発され、Windowsは3.0から採用している。DIBはもともとIBMとMicrosoftが共同でOS開発を行なっていた頃に作られた画像ファイル形式なので、WindowsDIBの他に情報ヘッダの異なるOS/2用のDIBも存在する。DIBには、以下の情報が含まれる。)BMPファイルの構造は基本的に4つのセクションにわかれている。ファイルヘッダ部には「ファイルタイプ」や「ファイルサイズ」など、ファイル自体に関する情報が納められてる。情報ヘッダ部は画像として取り扱われるのに必要な情報が格納されてる。パレット部はRGBQUAD構造体の配列としてインデックスカラーが格納される。]の順(リトルエンディアン)で格納される。このbiSizeはBMPファイルに保存されている情報ヘッダのサイズである。1ピクセルで何色表現できるかを表す。2色(2階調ビットマップ)2階調(モノクロ)画像で、2個のRGBQUAD構造体が含まれる。ビット配列部分は0と1の配列で表され、それらが2つのRGBQUAD構造体にそれぞれ対応している。16色(4bitビットマップ)16個のRGBQUAD構造体を含み、ビット配列部分は、パレットの何番目に登録されている色かを示すインデックスの配列になる。256色(8bitビットマップ)256色まで表現できる。ビット配列部分は、インデックスの配列。16,777,216色(フルカラービットマップ)RGBQUADを使わずにBGR順に並んだ3バイトで1ピクセルの色を表す。ビット配列部分はBGRの配列である。インデックスカラーの色数。時はbiBitCountからパレットの色数を求める。0RGBQUAD構造体はパレット部で個々のインデックスカラーの定義に使われる。ビット配列ビット配列部でのデータ格納方式はbiBitCountによって異なる。biBitCount24bit(フルカラービットマップ)の場合は、ピクセルのRGB輝度が青→緑→赤の順に3バイト(24bit)の配列として並んで格納されている(RGBQUADではない)。負の数値であれば左上のピクセルから始まって画像下方に向かう配列(トップダウン方式)になる。BMPファイルを出力するアプリケーションはほとんどがボトムアップ方式(biHeightが正の数値)でピクセルの並びを記録している。)と同じだけ繰り返される。8bit、4bit、1bitの場合、ビット配列部にはRGB輝度ではなくパレットのインデックス(パレットで何番目の色が使われているか)が格納されている。1bitのすべてにおいて、画像の水平方向1行分のピクセルのデータサイズ(バイト)は4バイトで割り切れるように調整されていなければならない。■BitBlt関数は、ピクセル矩形に相当するカラーデータをコピー先のデバイスコンテキストからコピー元のデバイスコンテキストにビットブロック転送する関数である(要するにコピーです)。