Condividi tramite


Metodo Bitmap::LockBits (gdiplusheaders.h)

Il metodo Bitmap::LockBits blocca una parte rettangolare di questa bitmap e fornisce un buffer temporaneo che è possibile usare per leggere o scrivere dati pixel in un formato specificato. Tutti i dati pixel scritti nel buffer vengono copiati nell'oggetto Bitmap quando si chiama Bitmap::UnlockBits.

Sintassi

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

Parametri

[in] rect

Tipo: const Rect*

Puntatore a un rettangolo che specifica la parte della bitmap da bloccare.

[in] flags

Tipo: UINT

Set di flag che specificano se la parte bloccata della bitmap è disponibile per la lettura o per la scrittura e se il chiamante ha già allocato un buffer. I singoli flag sono definiti nell'enumerazione ImageLockMode .

[in] format

Tipo: PixelFormat

Intero che specifica il formato dei dati pixel nel buffer temporaneo. Il formato pixel del buffer temporaneo non deve corrispondere al formato pixel di questo oggetto Bitmap . Le costanti e il tipo di dati PixelFormat che rappresentano vari formati di pixel sono definiti in Gdipluspixelformats.h. Per altre informazioni sulle costanti di formato pixel, vedere Costanti formato pixel immagine. GDI+ versione 1.0 non supporta l'elaborazione di immagini a 16 bit per canale, pertanto non è consigliabile impostare questo parametro su PixelFormat48bppRGB, PixelFormat64bppARGB o PixelFormat64bppPARGB.

[in, out] lockedBitmapData

Tipo: BitmapData*

Puntatore a un oggetto BitmapData . Se il flag ImageLockModeUserInputBuf del parametro flags viene cancellato, lockedBitmapData funge solo da parametro di output. In tal caso, il membro dati Scan0 dell'oggetto BitmapData riceve un puntatore a un buffer temporaneo, che viene riempito con i valori dei pixel richiesti. Gli altri membri dati dell'oggetto BitmapData ricevono attributi (larghezza, altezza, formato e stride) dei dati pixel nel buffer temporaneo. Se i dati pixel vengono archiviati in basso verso l'alto, il membro dati Stride è negativo. Se i dati pixel vengono archiviati dall'alto verso il basso, il membro dati Stride è positivo. Se il flag ImageLockModeUserInputBuf del parametro flags è impostato, lockedBitmapData funge da parametro di input (ed eventualmente come parametro di output). In tal caso, il chiamante deve allocare un buffer per i dati pixel che verranno letti o scritti. Il chiamante deve anche creare un oggetto BitmapData , impostare il membro dati Scan0 dell'oggetto BitmapData sull'indirizzo del buffer e impostare gli altri membri dati dell'oggetto BitmapData per specificare gli attributi (larghezza, altezza, formato e stride) del buffer.

Valore restituito

Tipo: Stato

Se il metodo ha esito positivo, restituisce Ok, che è un elemento dell'enumerazione Status .

Se il metodo ha esito negativo, restituisce uno degli altri elementi dell'enumerazione Status .

Requisiti

   
Client minimo supportato Windows XP, Windows 2000 Professional [solo app desktop]
Server minimo supportato Windows 2000 Server [solo app desktop]
Piattaforma di destinazione Windows
Intestazione gdiplusheaders.h (include Gdiplus.h)
Libreria Gdiplus.lib
DLL Gdiplus.dll

Vedi anche

Bitmap

Bitmap::UnlockBits

Bitmapdata

Immagine

Costanti di formato pixel immagine

ImageLockMode

Immagini, bitmap e metafile

Uso di immagini, bitmap e metafile