ボトムアップ と トップダウン ( Bitmap )

----単語--------

DIB :
Device Independent Bitmap。Independent:独立した。

バイス
単体で特定の機能を持つ電子部品・機器・周辺機器のこと。
パソコン、モニター、マウス、DVD、スマホなど。

デバイスドライバ
バイスを動作させるための制御用ソフトウェア。
OS に組み込まれていることが多い。

バッファ
データを一時的に溜めておくデータ領域。
バッファサイズは領域の大きさ。
連続するデータが途切れないようにバッファに随時先読みして溜めておく。

GDI
Graphics Device Interface。グラフィックス・デバイスインターフェイス
グラフィカルオブジェクトの表示と、ディスプレイや
プリンターのような出力機器への転送のための Windows 規格。
グラフィカル:絵画的。彫刻的。graphical:図の。図で描かれた。

--------単語----

 

Windows では、
バイスに依存しないビットマップ ( DIB ) は、
ボトムアップトップダウンという 2 つの異なる方向でメモリ内に配置できる。

 

ボトムアップ

ボトムアップ DIB では、
イメージバッファはピクセル最も下 ( ボトム ) の行から始まり
順に上の行が続く。イメージの最も上の行はバッファ内の最後の行になる。

したがって、
メモリ内最初のバイトはイメージの「左下」のピクセル
GDI ではすべての DIBボトムアップ

ボトムアップビットマップの画像の方向

biHeight は正数。スライドは負数。
5 * 6 ( w * h ) のボトムアップ ARGB ビットマップにおける
バイトの物理レイアウト。
f:id:koshinRan:20190207082235p:plain
※各行の末尾にある使われていないアラインメントバイトの実際の数は、
グラフィクハードウェアやその他の要因によって異なり、0 になる場合もある。

 

 

トップダウン

トップダウン DIB では、行の順序が逆になる。
イメージ最も上 ( トップ ) の行がメモリ内の最初の行になり、
順に下の行が続く。イメージの最も下の行はバッファ内の最後の行になる。

したがって、
メモリ内最初のバイトはイメージの「左上」 のピクセル
DirectDraw ではトップダウン DIB を使う。

トップダウンビットマップの画像の方向

 biHeight は負数。スライドは正数。
5 * 6 ( w * h ) のトップダウン ARGB ビットマップにおける
バイトの物理レイアウト。
f:id:koshinRan:20190207082506p:plain
※各行の末尾にある使われていないアラインメントバイトの実際の数は、
グラフィクハードウェアやその他の要因によって異なり、0 になる場合もある。

 

 

 

こちらから。
https://msdn.microsoft.com/ja-jp/library/cc370952.aspx
https://enjoy.sso.biglobe.ne.jp/archives/device/
https://info.shimamura.co.jp/digital/knowledge/2016/04/85808

以上。