Método Bitmap::LockBits (gdiplusheaders.h)

O método Bitmap::LockBits bloqueia uma parte retangular desse bitmap e fornece um buffer temporário que você pode usar para ler ou gravar dados de pixel em um formato especificado. Todos os dados de pixel que você grava no buffer são copiados para o objeto Bitmap quando você chama Bitmap::UnlockBits.

Sintaxe

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

Parâmetros

[in] rect

Tipo: const Rect*

Ponteiro para um retângulo que especifica a parte do bitmap a ser bloqueada.

[in] flags

Tipo: UINT

Conjunto de sinalizadores que especificam se a parte bloqueada do bitmap está disponível para leitura ou para gravação e se o chamador já alocou um buffer. Sinalizadores individuais são definidos na enumeração ImageLockMode .

[in] format

Tipo: PixelFormat

Inteiro que especifica o formato dos dados de pixel no buffer temporário. O formato de pixel do buffer temporário não precisa ser o mesmo que o formato de pixel deste objeto Bitmap . O tipo de dados PixelFormat e as constantes que representam vários formatos de pixel são definidos em Gdipluspixelformats.h. Para obter mais informações sobre constantes de formato de pixel, consulte Constantes de formato de pixel de imagem. O GDI+ versão 1.0 não dá suporte ao processamento de imagens de 16 bits por canal, portanto, você não deve definir esse parâmetro igual a PixelFormat48bppRGB, PixelFormat64bppARGB ou PixelFormat64bppPARGB.

[in, out] lockedBitmapData

Tipo: BitmapData*

Ponteiro para um objeto BitmapData . Se o sinalizador ImageLockModeUserInputBuf do parâmetro flags estiver limpo, lockedBitmapData servirá apenas como um parâmetro de saída. Nesse caso, o membro de dados Scan0 do objeto BitmapData recebe um ponteiro para um buffer temporário, que é preenchido com os valores dos pixels solicitados. Os outros membros de dados do objeto BitmapData recebem atributos (largura, altura, formato e passo a passo) dos dados de pixel no buffer temporário. Se os dados de pixel forem armazenados de baixo para cima, o membro de dados Stride será negativo. Se os dados de pixel forem armazenados de cima para baixo, o membro de dados Stride será positivo. Se o sinalizador ImageLockModeUserInputBuf do parâmetro flags estiver definido, lockedBitmapData servirá como um parâmetro de entrada (e possivelmente como um parâmetro de saída). Nesse caso, o chamador deve alocar um buffer para os dados de pixel que serão lidos ou gravados. O chamador também deve criar um objeto BitmapData , definir o membro de dados Scan0 desse objeto BitmapData como o endereço do buffer e definir os outros membros de dados do objeto BitmapData para especificar os atributos (largura, altura, formato e passo a passo) do buffer.

Valor retornado

Tipo: Status

Se o método for bem-sucedido, ele retornará Ok, que é um elemento da enumeração Status .

Se o método falhar, ele retornará um dos outros elementos da enumeração Status .

Requisitos

   
Cliente mínimo com suporte Windows XP, Windows 2000 Professional [somente aplicativos da área de trabalho]
Servidor mínimo com suporte Windows 2000 Server [somente aplicativos da área de trabalho]
Plataforma de Destino Windows
Cabeçalho gdiplusheaders.h (inclua Gdiplus.h)
Biblioteca Gdiplus.lib
DLL Gdiplus.dll

Confira também

Bitmap

Bitmap::UnlockBits

Bitmapdata

Imagem

Constantes de formato de pixel de imagem

Imagelockmode

Imagens, Bitmaps e Metafiles

Usando imagens, bitmaps e metarquivos