The SetPixel method sets the color of a specified pixel in this bitmap.
Syntax
Status SetPixel(
INT x,
INT y,
const Color &color
);
Parameters
- x
-
[in] int that specifies the x-coordinate (column) of the pixel.
- y
-
[in] int that specifies the y-coordinate (row) of the pixel.
- color
-
[in] Reference to a Color object that specifies the color to set.
Return Value
If the method succeeds, it returns Ok, which is an element of the
Status enumeration.
If the method fails, it returns one of the other elements of the
Status enumeration.
Remarks
Depending on the format of the bitmap, GetPixel might not return the same value as was set by SetPixel. For example, if you call SetPixel on a
Bitmap object whose pixel format is 32bppPARGB, the RGB components are premultiplied. A subsequent call to GetPixel might return a different value because of rounding. Also, if you call SetPixel on a
Bitmap whose color depth is 16 bits per pixel, information could be lost in the conversion from 32 to 16 bits, and a subsequent call to GetPixel might return a different value.
Example
The following example creates a
Bitmap object based on a JPEG file. The code draws the bitmap once unaltered. Then the code calls the SetPixel method to create a checkered pattern of black pixels in the bitmap and draws the altered bitmap.
VOID Example_SetPixel(HDC hdc)
{
Graphics graphics(hdc);
// Create a Bitmap object from a JPEG file.
Bitmap myBitmap(L"Climber.jpg");
// Draw the bitmap.
graphics.DrawImage(&myBitmap, 0, 0);
// Create a checkered pattern with black pixels.
for (UINT row = 0; row < myBitmap.GetWidth(); row += 2)
{
for (UINT col = 0; col < myBitmap.GetHeight(); col += 2)
{
myBitmap.SetPixel(row, col, Color(255, 0, 0, 0));
}
}
// Draw the altered bitmap.
graphics.DrawImage(&myBitmap, 200, 0);
}
Method Information
| Stock Implementation | gdiplus.dll |
|---|
| Header | Declared in Gdiplusheaders.h, include gdiplus.h |
|---|
| Import library | gdiplus.lib |
|---|
| Minimum availability | GDI+
1.0 |
|---|
| Minimum operating systems |
Windows 98/Me, Windows XP, Windows 2000, Windows NT 4.0 SP6 |
|---|
See Also