イメージバッファにアクセスする

ここでは異なるMediaSubtypesのイメージバッファの扱い方について説明します。
今回のサンプルプログラムのC#用のソースコードはMy Documents/IC Imaging Control 3.5内の以下のディレクトリに格納されています。
samples\C# *\PixelFormat

フォーマットの共通項目

GrabImageは現在選択されているデバイスから 画像を取得しようとします。 BufferAccessHelperクラスは IFrame.Ptrクラスライブラリリファレンスクラス>IFrame>IFrame.Ptr Propertyをサポートするデータへの配列スタイルのアクセスを提供します。

利用可能なカラーフォーマット

  • Y800は8bit、モノクロのフォーマットです。すべてのピクセルが1バイトで表されます。イメージバッファのピクセルは左から右へ、上から下へと組織されます。つまり、イメージバッファの1バイトめが映像における1番上のラインの最初のピクセルに対応しているということです。

  • RGB24は24bitのカラーのフォーマットです。 すべてのピクセルが3バイトで表されますが、1バイトがそれぞれ1色の値に対応します。'RGB' は それぞれRed (赤)、Green (緑)、Blue (青) を意味し、 3つのバイトがそれぞれRed, Green, Blueの値を表しているということになります。

  • RGB32は32bit、カラーのフォーマットです。RGB24と似ていますが、全てのピクセルがアルファ値を保持するためのバイトを余分にもっているところが違いです。アルファ値はピクセルの透過度を表す情報です。よって全てのピクセルは4バイトで構成されています。RGB32 は RGBAとも呼ばれます(アルファを表すAがつく) 。アルファ値はIC Imaging Control では使用されないため常に0となっています。RGB24 のピクセルフォーマットの場合と同様、IC Imaging Control ではRGB32 のピクセルフォーマットはBGRAというバイト 順になっています。イメージバッファのピクセルは左から右へ、下から上へと組織されます。

  • YGB16は16bitのグレイスケールフォーマットです。イメージバッファのピクセルは左から右へ、上から下へと組織されます。