Bitmap::LockBits-Methode (gdiplusheaders.h)

Die Bitmap::LockBits-Methode sperrt einen rechteckigen Teil dieser Bitmap und stellt einen temporären Puffer bereit, mit dem Sie Pixeldaten in einem angegebenen Format lesen oder schreiben können. Alle Pixeldaten, die Sie in den Puffer schreiben, werden in das Bitmap-Objekt kopiert, wenn Sie Bitmap::UnlockBits aufrufen.

Syntax

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

Parameter

[in] rect

Typ: const Rect*

Zeiger auf ein Rechteck, das den teil der zu sperrenden Bitmap angibt.

[in] flags

Typ: UINT

Satz von Flags, die angeben, ob der gesperrte Teil der Bitmap zum Lesen oder Schreiben verfügbar ist und ob der Aufrufer bereits einen Puffer zugewiesen hat. Einzelne Flags werden in der ImageLockMode-Enumeration definiert.

[in] format

Typ: PixelFormat

Eine ganze Zahl, die das Format der Pixeldaten im temporären Puffer angibt. Das Pixelformat des temporären Puffers muss nicht mit dem Pixelformat dieses Bitmap-Objekts übereinstimmen. Der PixelFormat-Datentyp und die Konstanten, die verschiedene Pixelformate darstellen, sind in Gdipluspixelformats.h definiert. Weitere Informationen zu Pixelformatkonstanten finden Sie unter Bildpixelformatkonstanten. GDI+ Version 1.0 unterstützt keine Verarbeitung von 16-Bit-Bildern pro Kanal. Daher sollten Sie diesen Parameter nicht auf PixelFormat48bppRGB, PixelFormat64bppARGB oder PixelFormat64bppPARGB festlegen.

[in, out] lockedBitmapData

Typ: BitmapData*

Zeiger auf ein BitmapData-Objekt . Wenn das ImageLockModeUserInputBuf-Flag des flags-Parameters gelöscht wird, dient lockedBitmapData nur als Ausgabeparameter. In diesem Fall empfängt der Scan0-Datenmember des BitmapData-Objekts einen Zeiger auf einen temporären Puffer, der mit den Werten der angeforderten Pixel gefüllt ist. Die anderen Datenmember des BitmapData-Objekts empfangen Attribute (Width, Height, Format und Stride) der Pixeldaten im temporären Puffer. Wenn die Pixeldaten von unten nach oben gespeichert werden, ist der Stride-Datenmember negativ. Wenn die Pixeldaten von oben nach unten gespeichert werden, ist der Stride-Datenmember positiv. Wenn das ImageLockModeUserInputBuf-Flag des flags-Parameters festgelegt ist, dient lockedBitmapData als Eingabeparameter (und möglicherweise als Ausgabeparameter). In diesem Fall muss der Aufrufer einen Puffer für die Pixeldaten zuordnen, die gelesen oder geschrieben werden. Der Aufrufer muss auch ein BitmapData-Objekt erstellen, den Scan0-Datenmember dieses BitmapData-Objekts auf die Adresse des Puffers festlegen und die anderen Datenmember des BitmapData-Objekts festlegen, um die Attribute (Breite, Höhe, Format und Stride) des Puffers anzugeben.

Rückgabewert

Typ: Status

Wenn die Methode erfolgreich ist, gibt sie OK zurück, ein Element der Status-Enumeration .

Wenn die Methode fehlschlägt, wird eines der anderen Elemente der Status-Enumeration zurückgegeben.

Anforderungen

   
Unterstützte Mindestversion (Client) Windows XP, Windows 2000 Professional [nur Desktop-Apps]
Unterstützte Mindestversion (Server) Windows 2000 Server [nur Desktop-Apps]
Zielplattform Windows
Kopfzeile gdiplusheaders.h (include Gdiplus.h)
Bibliothek Gdiplus.lib
DLL Gdiplus.dll

Weitere Informationen

Bitmap

Bitmap::UnlockBits

Bitmapdata

Bild

Bildpixelformatkonstanten

ImageLockMode

Bilder, Bitmaps und Metadateien

Verwenden von Bildern, Bitmaps und Metadateien