Bitmap::GetPixel 方法 (gdiplusheaders.h)
Bitmap::GetPixel 方法會取得此點陣圖中指定圖元的色彩。
語法
Status GetPixel(
[in] INT x,
[in] INT y,
[out] Color *color
);
參數
[in] x
類型: INT
整數,指定圖元的 x 座標 (資料行) 。
[in] y
類型: INT
整數,指定圖元的 Y 座標 (列) 。
[out] color
類型: 色彩*
Color 物件的指標 ,該物件會接收指定圖元的色彩。
傳回值
類型: 狀態
如果方法成功,它會傳回 Ok,這是 Status 列舉的元素。
如果方法失敗,它會傳回 Status 列舉的其他其中一個專案。
備註
根據位圖的格式, Bitmap::GetPixel 可能不會傳回 與 Bitmap::SetPixel 設定相同的值。 例如,如果您在圖元格式為 32bppPARGB 的 Bitmap 物件上呼叫 Bitmap::SetPixel,則圖元的 RGB 元件會預先乘以。 後續呼叫 Bitmap::GetPixel 可能會因為捨入而傳回不同的值。 此外,如果您在色彩深度為每個圖元 16 位的 Bitmap 物件上呼叫 Bitmap::SetPixel,則從 32 到 16 位的轉換期間可能會遺失資訊,而後續呼叫 Bitmap::GetPixel 可能會傳回不同的值。
範例
下列範例會根據 JPEG 檔案建立 Bitmap 物件。 程序代碼會呼叫 Bitmap::GetPixel 方法,以取得位圖中的圖元色彩,然後使用擷取的色彩填滿矩形。
VOID Example_GetPixel(HDC hdc)
{
Graphics graphics(hdc);
// Create a Bitmap object from a JPEG file.
Bitmap myBitmap(L"Climber.jpg");
// Get the value of a pixel from myBitmap.
Color pixelColor;
myBitmap.GetPixel(25, 25, &pixelColor);
// Fill a rectangle with the pixel color.
SolidBrush brush(pixelColor);
graphics.FillRectangle(&brush, Rect(0, 0, 100, 100));
}
規格需求
需求 | 值 |
---|---|
最低支援的用戶端 | Windows XP、Windows 2000 Professional [僅限桌面應用程式] |
最低支援的伺服器 | Windows 2000 Server [僅限桌面應用程式] |
目標平台 | Windows |
標頭 | gdiplusheaders.h (包含 Gdiplus.h) |
程式庫 | Gdiplus.lib |
Dll | Gdiplus.dll |