Función BitBlt (wingdi.h)
La función BitBlt realiza una transferencia de bloque de bits de los datos de color correspondientes a un rectángulo de píxeles del contexto de dispositivo de origen especificado en un contexto de dispositivo de destino.
Sintaxis
BOOL BitBlt(
[in] HDC hdc,
[in] int x,
[in] int y,
[in] int cx,
[in] int cy,
[in] HDC hdcSrc,
[in] int x1,
[in] int y1,
[in] DWORD rop
);
Parámetros
[in] hdc
Controlar el contexto del dispositivo de destino.
[in] x
Coordenada x, en unidades lógicas, de la esquina superior izquierda del rectángulo de destino.
[in] y
Coordenada y, en unidades lógicas, de la esquina superior izquierda del rectángulo de destino.
[in] cx
Ancho, en unidades lógicas, de los rectángulos de origen y destino.
[in] cy
Alto, en unidades lógicas, de los rectángulos de origen y de destino.
[in] hdcSrc
Identificador del contexto del dispositivo de origen.
[in] x1
Coordenada x, en unidades lógicas, de la esquina superior izquierda del rectángulo de origen.
[in] y1
Coordenada y, en unidades lógicas, de la esquina superior izquierda del rectángulo de origen.
[in] rop
Código de operación ráster. Estos códigos definen cómo se combinarán los datos de color del rectángulo de origen con los datos de color del rectángulo de destino para lograr el color final.
En la lista siguiente se muestran algunos códigos de operación ráster comunes.
Valor devuelto
Si la función se realiza correctamente, el valor devuelto es distinto de cero.
Si la función no se realiza correctamente, el valor devuelto es cero. Para obtener información de error extendida, llame a GetLastError.
Comentarios
BitBlt solo realiza el recorte en el controlador de dominio de destino.
Si una transformación de rotación o de descimación está en vigor en el contexto del dispositivo de origen, BitBlt devuelve un error. Si existen otras transformaciones en el contexto del dispositivo de origen (y una transformación coincidente no está en vigor en el contexto del dispositivo de destino), el rectángulo del contexto del dispositivo de destino se estira, comprime o gira, según sea necesario.
Si los formatos de color de los contextos de dispositivo de origen y destino no coinciden, la función BitBlt convierte el formato de color de origen para que coincida con el formato de destino.
Cuando se registra un metarchivo mejorado, se produce un error si el contexto de dispositivo de origen identifica un contexto de dispositivo de metarchivo mejorado.
No todos los dispositivos admiten la función BitBlt . Para obtener más información, vea la entrada de funcionalidad de RC_BITBLT ráster en la función GetDeviceCaps , así como las siguientes funciones: MaskBlt, PlgBlt y StretchBlt.
BitBlt devuelve un error si los contextos de dispositivo de origen y destino representan dispositivos diferentes. Para transferir datos entre controladores de dominio para distintos dispositivos, convierta el mapa de bits de memoria en una DIB mediante una llamada a GetDIBits. Para mostrar la DIB en el segundo dispositivo, llame a SetDIBits o StretchDIBits.
ICM: No se realiza ninguna administración de colores cuando se producen cortes.
Ejemplos
En el ejemplo de código siguiente se muestra el uso de BitBlt.
if (!BitBlt(hdcMemDC,
0, 0,
rcClient.right - rcClient.left, rcClient.bottom - rcClient.top,
hdcWindow,
0, 0,
SRCCOPY))
{
MessageBox(hWnd, L"BitBlt has failed", L"Failed", MB_OK);
goto done;
}
Para ver este ejemplo en contexto, consulte Captura de una imagen.
Requisitos
Requisito | Value |
---|---|
Cliente mínimo compatible | Windows 2000 Professional [solo aplicaciones de escritorio] |
Servidor mínimo compatible | Windows 2000 Server [solo aplicaciones de escritorio] |
Plataforma de destino | Windows |
Encabezado | wingdi.h (incluye Windows.h) |
Library | Gdi32.lib |
Archivo DLL | Gdi32.dll |