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 中定義。 如需像素格式常數的詳細資訊,請參閱 影像像素格式常數。 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物件的其他資料成員,以指定緩衝區的寬度、高度、格式和步幅) (屬性。
傳回值
類型: 狀態
如果方法成功,它會傳回 Ok,這是 Status 列舉的元素。
如果方法失敗,它會傳回 Status 列舉的其中一個其他元素。
需求
最低支援的用戶端 | Windows XP、Windows 2000 Professional [僅限傳統型應用程式] |
最低支援的伺服器 | Windows 2000 Server [僅限傳統型應用程式] |
目標平台 | Windows |
標頭 | gdiplusheaders.h (包含 Gdiplus.h) |
程式庫 | Gdiplus.lib |
Dll | Gdiplus.dll |