Bitmap::LockBits メソッド (gdiplusheaders.h)
Bitmap::LockBits メソッドは、このビットマップの四角形の部分をロックし、指定した形式でピクセル データの読み取りまたは書き込みに使用できる一時的なバッファーを提供します。 バッファーに書き込むピクセル データは、Bitmap::UnlockBits を呼び出すと Bitmap オブジェクトにコピーされます。
構文
Status LockBits(
[in] const Rect *rect,
[in] UINT flags,
[in] PixelFormat format,
[in, out] BitmapData *lockedBitmapData
);
パラメーター
[in] rect
型: const Rect*
ロックするビットマップの部分を指定する四角形へのポインター。
[in] flags
型: UINT
ビットマップのロックされた部分を読み取りまたは書き込みに使用できるかどうか、および呼び出し元が既にバッファーを割り当てられているかどうかを指定するフラグのセット。 個々のフラグは、 ImageLockMode 列挙で定義されます。
[in] format
種類: PixelFormat
一時バッファー内のピクセル データの形式を指定する整数。 一時バッファーのピクセル形式は、この Bitmap オブジェクトのピクセル形式と同じである必要はありません。 PixelFormat データ型と、さまざまなピクセル形式を表す定数は、Gdipluspixelformats.h で定義されています。 ピクセル形式定数の詳細については、「 Image Pixel Format Constants」を参照してください。 GDI+ バージョン 1.0 では、チャネルあたりの 16 ビット イメージの処理はサポートされていないため、このパラメーターを PixelFormat48bppRGB、PixelFormat64bppARGB、または PixelFormat64bppPARGB に設定しないでください。
[in, out] lockedBitmapData
型: BitmapData*
BitmapData オブジェクトへのポインター。 flags パラメーターの ImageLockModeUserInputBuf フラグがクリアされた場合、lockedBitmapData は出力パラメーターとしてのみ機能します。 その場合、BitmapData オブジェクトの Scan0 データ メンバーは、一時バッファーへのポインターを受け取ります。このポインターには、要求されたピクセルの値が入力されます。 BitmapData オブジェクトの他のデータ メンバーは、一時バッファー内のピクセル データの属性 (幅、高さ、形式、ストライド) を受け取ります。 ピクセル データがボトムアップで格納されている場合、 Stride データ メンバーは負の値になります。 ピクセル データが上から下に格納されている場合、 Stride データ メンバーは正の値になります。 flags パラメーターの ImageLockModeUserInputBuf フラグが設定されている場合、lockedBitmapData は入力パラメーター (および場合によっては出力パラメーター) として機能します。 その場合、呼び出し元は、読み取りまたは書き込みされるピクセル データのバッファーを割り当てる必要があります。 呼び出し元は、BitmapData オブジェクトを作成し、その BitmapData オブジェクトの Scan0 データ メンバーをバッファーのアドレスに設定し、BitmapData オブジェクトの他のデータ メンバーを設定して、バッファーの属性 (幅、高さ、形式、ストライド) を指定する必要があります。
戻り値
種類: 状態
メソッドが成功した場合は、Status 列挙体の要素である Ok を返します。
メソッドが失敗した場合は、 Status 列挙体の他の要素のいずれかを返します。
要件
サポートされている最小のクライアント | Windows XP、Windows 2000 Professional [デスクトップ アプリのみ] |
サポートされている最小のサーバー | Windows 2000 Server [デスクトップ アプリのみ] |
対象プラットフォーム | Windows |
ヘッダー | gdiplusheaders.h (Gdiplus.h を含む) |
Library | Gdiplus.lib |
[DLL] | Gdiplus.dll |