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

另請參閱

點陣圖

Bitmap::LockBits

Bitmap::SetPixel

色彩

映像

影像、點陣圖和中繼檔

使用影像、位圖和元檔