Función StretchBlt (wingdi.h)
La función StretchBlt copia un mapa de bits de un rectángulo de origen en un rectángulo de destino, estirando o comprimiendo el mapa de bits para ajustarse a las dimensiones del rectángulo de destino, si es necesario. El sistema estira o comprime el mapa de bits según el modo de extensión establecido actualmente en el contexto del dispositivo de destino.
Sintaxis
BOOL StretchBlt(
[in] HDC hdcDest,
[in] int xDest,
[in] int yDest,
[in] int wDest,
[in] int hDest,
[in] HDC hdcSrc,
[in] int xSrc,
[in] int ySrc,
[in] int wSrc,
[in] int hSrc,
[in] DWORD rop
);
Parámetros
[in] hdcDest
Controlar el contexto del dispositivo de destino.
[in] xDest
Coordenada x, en unidades lógicas, de la esquina superior izquierda del rectángulo de destino.
[in] yDest
Coordenada y, en unidades lógicas, de la esquina superior izquierda del rectángulo de destino.
[in] wDest
Ancho, en unidades lógicas, del rectángulo de destino.
[in] hDest
Alto, en unidades lógicas, del rectángulo de destino.
[in] hdcSrc
Identificador del contexto del dispositivo de origen.
[in] xSrc
Coordenada x, en unidades lógicas, de la esquina superior izquierda del rectángulo de origen.
[in] ySrc
Coordenada y, en unidades lógicas, de la esquina superior izquierda del rectángulo de origen.
[in] wSrc
Ancho, en unidades lógicas, del rectángulo de origen.
[in] hSrc
Alto, en unidades lógicas, del rectángulo de origen.
[in] rop
Operación de trama que se va a realizar. Los códigos de operación de trama definen cómo el sistema combina colores en las operaciones de salida que implican un pincel, un mapa de bits de origen y un mapa de bits de destino.
Consulte BitBlt para obtener una lista de códigos de operación de trama comunes (ROP). Tenga en cuenta que el ROP CAPTUREBLT generalmente no se puede usar para imprimir contextos de dispositivo.
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.
Comentarios
StretchBlt estira o comprime el mapa de bits de origen en memoria y, a continuación, copia el resultado en el rectángulo de destino. Este mapa de bits puede ser un mapa de bits (DDB) compatible o la salida de CreateDIBSection. Los datos de color de los píxeles de patrón o destino se combinan después de que se produzca la ampliación o compresión.
Cuando se registra un metarchivo mejorado, se produce un error (y la función devuelve FALSE) si el contexto del dispositivo de origen identifica un contexto de dispositivo de metarchivo mejorado.
Si la operación de trama especificada requiere un pincel, el sistema usa el pincel seleccionado actualmente en el contexto del dispositivo de destino.
Las coordenadas de destino se transforman mediante la transformación especificada actualmente para el contexto del dispositivo de destino; las coordenadas de origen se transforman mediante la transformación especificada actualmente para el contexto del dispositivo de origen.
Si la transformación de origen tiene una rotación o un cable, se produce un error.
Si los mapas de bits de destino, origen y patrón no tienen el mismo formato de color, StretchBlt convierte los mapas de bits de origen y patrón para que coincidan con el mapa de bits de destino.
Si StretchBlt debe convertir un mapa de bits monocromático en un mapa de bits de color, establece bits blancos (1) en el color de fondo y los bits negros (0) en el color de primer plano. Para convertir un mapa de bits de color en un mapa de bits monocromático, establece píxeles que coinciden con el color de fondo en blanco (1) y establece todos los demás píxeles en negro (0). Se usan los colores de primer plano y de fondo del contexto de dispositivo con color.
StretchBlt crea una imagen reflejada de un mapa de bits si los signos de los parámetros nWidthSrc y nWidthDest o si los parámetros nHeightSrc y nHeightDest difieren. Si nWidthSrc y nWidthDest tienen signos diferentes, la función crea una imagen reflejada del mapa de bits a lo largo del eje X. Si nHeightSrc y nHeightDest tienen signos diferentes, la función crea una imagen reflejada del mapa de bits a lo largo del eje Y.
No todos los dispositivos admiten la función StretchBlt . Para obtener más información, consulte GetDeviceCaps.
ICM: No se realiza ninguna administración de colores cuando se produce una operación delit.
Cuando se usa en un sistema de supervisión múltiple, hdcSrc y hdcDest deben hacer referencia al mismo dispositivo o se producirá un error en la función. Para transferir datos entre controladores de dominio para distintos dispositivos, convierta el mapa de bits de memoria en un DIB mediante una llamada a GetDIBits. Para mostrar la DIB en el segundo dispositivo, llame a SetDIBits o StretchDIBits.
Ejemplos
Para obtener un ejemplo, consulte Escalado 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 |