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

另請參閱

點陣圖

Bitmap::UnlockBits

BitmapData

映像

影像像素格式常數

ImageLockMode

影像、點陣圖和中繼檔

使用影像、點陣圖和中繼檔