Compartir a través de


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

El método Bitmap::LockBits bloquea una parte rectangular de este mapa de bits y proporciona un búfer temporal que puede usar para leer o escribir datos de píxeles en un formato especificado. Los datos de píxeles que escriba en el búfer se copian en el objeto Mapa de bits al llamar a Bitmap::UnlockBits.

Sintaxis

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

Parámetros

[in] rect

Tipo: const Rect*

Puntero a un rectángulo que especifica la parte del mapa de bits que se va a bloquear.

[in] flags

Tipo: UINT

Conjunto de marcas que especifican si la parte bloqueada del mapa de bits está disponible para leer o escribir y si el autor de la llamada ya ha asignado un búfer. Las marcas individuales se definen en la enumeración ImageLockMode .

[in] format

Tipo: PixelFormat

Entero que especifica el formato de los datos de píxeles en el búfer temporal. El formato de píxel del búfer temporal no tiene que ser el mismo que el formato de píxel de este objeto Mapa de bits. El tipo de datos PixelFormat y las constantes que representan varios formatos de píxeles se definen en Gdipluspixelformats.h. Para obtener más información sobre las constantes de formato de píxel, vea Constantes de formato de píxel de imagen. La versión 1.0 de GDI+ no admite el procesamiento de imágenes de 16 bits por canal, por lo que no debe establecer este parámetro igual a PixelFormat48bppRGB, PixelFormat64bppARGB o PixelFormat64bppPARGB.

[in, out] lockedBitmapData

Tipo: BitmapData*

Puntero a un objeto BitmapData . Si se borra la marca ImageLockModeUserInputBuf del parámetro flags , lockedBitmapData solo sirve como parámetro de salida. En ese caso, el miembro de datos Scan0 del objeto BitmapData recibe un puntero a un búfer temporal, que se rellena con los valores de los píxeles solicitados. Los demás miembros de datos del objeto BitmapData reciben atributos (ancho, alto, formato y intervalo) de los datos de píxeles en el búfer temporal. Si los datos de píxeles se almacenan de abajo arriba, el miembro de datos Stride es negativo. Si los datos de píxeles se almacenan de arriba abajo, el miembro de datos Stride es positivo. Si se establece la marca ImageLockModeUserInputBuf del parámetro flags , lockedBitmapData actúa como parámetro de entrada (y posiblemente como parámetro de salida). En ese caso, el autor de la llamada debe asignar un búfer para los datos de píxeles que se leerán o escribirán. El autor de la llamada también debe crear un objeto BitmapData , establecer el miembro de datos Scan0 de ese objeto BitmapData en la dirección del búfer y establecer los demás miembros de datos del objeto BitmapData para especificar los atributos (ancho, alto, formato y intervalo) del búfer.

Valor devuelto

Tipo: Estado

Si el método se ejecuta correctamente, devuelve Ok, que es un elemento de la enumeración Status .

Si se produce un error en el método, devuelve uno de los otros elementos de la enumeración Status .

Requisitos

   
Cliente mínimo compatible Windows XP, Windows 2000 Professional [solo aplicaciones de escritorio]
Servidor mínimo compatible Windows 2000 Server [solo aplicaciones de escritorio]
Plataforma de destino Windows
Encabezado gdiplusheaders.h (include Gdiplus.h)
Library Gdiplus.lib
Archivo DLL Gdiplus.dll

Consulte también

Bitmap

Mapa de bits::UnlockBits

Bitmapdata

Imagen

Constantes de formato de píxel de imagen

ImageLockMode

Imágenes, mapas de bits y metarchivos

Usar imágenes, mapas de bits y metarchivos