Basic Knowledge About VRAM - VRAMの基礎知識

  • はじめに
    ここではVRAM操作の際の基礎知識として、なるべくプログラム言語に依存しないように解説しています。 不足な部分も多々あるかと思われますが、どうかご容赦くださいまし(^^;
    なお、内容はフルカラー画像の取り扱いを前提としています。
  • VRAMとは
    画像1ピクセルあたりの大きさは3バイトです。なぜかと言うと、色はコンピュータ上といえども、 実際と同じく赤緑青からなる、いわゆる「色の三原色」で表されています。そしてその各要素の大きさは1バイトとなっています。
    なお、その各要素には0〜255の数値が収められています。これは色の明暗を表しています。
    つまるところ、この1バイト1バイトの色の明暗の数値が、プログラムで扱うVRAM情報というやつです。
  • VRAM操作
    VRAM操作は単純に1バイトずつVRAM情報を取得し、それを計算で増減したりすれば良いわけですが、実はそう単純な問題でもありません。
    まず、例えば10×10の画像なら(0,11)などといった画像の範囲外を操作しようとすると、一般保護エラーを起こす可能性があります。 このあたりはプログラムを組む側の注意が必要です。
    また、WindowsではVRAM情報は画像の原点(0,0)から始まっておらず、左下座標(10×10の画像なら、(0,9))から始まっているのです。 加えて厄介なことに色の要素は「赤→緑→青」の順ではなく、逆の「青→緑→赤」と並んでいます。 VRAM操作の際は多少ややこしいのですが、これらの事項を留意しておく必要があります。
  • イメージ画像
    VRAM情報イメージ画像