Bitmap ::GetPixel, méthode (gdiplusheaders.h)
La méthode Bitmap ::GetPixel obtient la couleur d’un pixel spécifié dans cette bitmap.
Syntaxe
Status GetPixel(
[in] INT x,
[in] INT y,
[out] Color *color
);
Paramètres
[in] x
Type : INT
Entier qui spécifie la coordonnée x (colonne) du pixel.
[in] y
Type : INT
Entier qui spécifie la coordonnée y (ligne) du pixel.
[out] color
Type : Couleur*
Pointeur vers un objet Color qui reçoit la couleur du pixel spécifié.
Valeur retournée
Type : État
Si la méthode réussit, elle retourne Ok, qui est un élément de l’énumération Status .
Si la méthode échoue, elle retourne l’un des autres éléments de l’énumération Status .
Remarques
Selon le format de la bitmap, Bitmap ::GetPixel peut ne pas retourner la même valeur que celle définie par Bitmap ::SetPixel. Par exemple, si vous appelez Bitmap ::SetPixel sur un objet Bitmap dont le format de pixel est 32bppPARGB, les composants RVB du pixel sont prémultipliés. Un appel suivant à Bitmap ::GetPixel peut retourner une valeur différente en raison de l’arrondi. En outre, si vous appelez Bitmap ::SetPixel sur un objet Bitmap dont la profondeur de couleur est de 16 bits par pixel, des informations peuvent être perdues lors de la conversion de 32 à 16 bits, et un appel ultérieur à Bitmap ::GetPixel peut retourner une valeur différente.
Exemples
L’exemple suivant crée un objet Bitmap basé sur un fichier JPEG. Le code appelle la méthode Bitmap ::GetPixel pour obtenir la couleur d’un pixel dans la bitmap, puis remplit un rectangle avec la couleur récupérée.
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));
}
Configuration requise
Condition requise | Valeur |
---|---|
Client minimal pris en charge | Windows XP, Windows 2000 Professionnel [applications de bureau uniquement] |
Serveur minimal pris en charge | Windows 2000 Server [applications de bureau uniquement] |
Plateforme cible | Windows |
En-tête | gdiplusheaders.h (inclure Gdiplus.h) |
Bibliothèque | Gdiplus.lib |
DLL | Gdiplus.dll |