Partager via


Bitmap::LockBits, méthode (gdiplusheaders.h)

La méthode Bitmap::LockBits verrouille une partie rectangulaire de cette bitmap et fournit une mémoire tampon temporaire que vous pouvez utiliser pour lire ou écrire des données de pixels dans un format spécifié. Toutes les données de pixel que vous écrivez dans la mémoire tampon sont copiées dans l’objet Bitmap lorsque vous appelez Bitmap::UnlockBits.

Syntaxe

Status LockBits(
  [in]      const Rect  *rect,
  [in]      UINT        flags,
  [in]      PixelFormat format,
  [in, out] BitmapData  *lockedBitmapData
);

Paramètres

[in] rect

Type : const Rect*

Pointeur vers un rectangle qui spécifie la partie de la bitmap à verrouiller.

[in] flags

Type : UINT

Ensemble d’indicateurs qui spécifient si la partie verrouillée de la bitmap est disponible pour la lecture ou l’écriture et si l’appelant a déjà alloué une mémoire tampon. Les indicateurs individuels sont définis dans l’énumération ImageLockMode .

[in] format

Type : PixelFormat

Entier qui spécifie le format des données de pixels dans la mémoire tampon temporaire. Le format de pixels de la mémoire tampon temporaire ne doit pas être identique au format de pixels de cet objet Bitmap . Le type de données PixelFormat et les constantes qui représentent différents formats de pixels sont définis dans Gdipluspixelformats.h. Pour plus d’informations sur les constantes de format de pixels, consultez Constantes de format de pixels d’image. GDI+ version 1.0 ne prend pas en charge le traitement des images 16 bits par canal. Vous ne devez donc pas définir ce paramètre comme pixelFormat48bppRGB, PixelFormat64bppARGB ou PixelFormat64bppPARGB.

[in, out] lockedBitmapData

Type : BitmapData*

Pointeur vers un objet BitmapData . Si l’indicateur ImageLockModeUserInputBuf du paramètre flags est effacé, lockedBitmapData sert uniquement de paramètre de sortie. Dans ce cas, le membre de données Scan0 de l’objet BitmapData reçoit un pointeur vers une mémoire tampon temporaire, qui est rempli avec les valeurs des pixels demandés. Les autres membres de données de l’objet BitmapData reçoivent des attributs (largeur, hauteur, format et foulée) des données de pixel dans la mémoire tampon temporaire. Si les données de pixel sont stockées de bas en haut, le membre de données Stride est négatif. Si les données de pixel sont stockées de haut en bas, le membre de données Stride est positif. Si l’indicateur ImageLockModeUserInputBuf du paramètre flags est défini, lockedBitmapData sert de paramètre d’entrée (et éventuellement de paramètre de sortie). Dans ce cas, l’appelant doit allouer une mémoire tampon pour les données de pixels qui seront lues ou écrites. L’appelant doit également créer un objet BitmapData , définir le membre de données Scan0 de cet objet BitmapData sur l’adresse de la mémoire tampon et définir les autres membres de données de l’objet BitmapData pour spécifier les attributs (largeur, hauteur, format et foulée) de la mémoire tampon.

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 .

Configuration requise

   
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

Voir aussi

Bitmap

Bitmap::UnlockBits

Bitmapdata

Image

Constantes de format de pixels d’image

ImageLockMode

Images, bitmaps et métafichiers

Utilisation d’images, de bitmaps et de métafichiers