wingdi.h


StretchBlt

Copia un mapa de bits desde un rectángulo origen en el interior de un rectángulo destino, se realizará un estiramiento o compresión del mapa de bits para ajustarlo a las dimensiones del rectángulo de destino, si es necesario. Windows estira o comprime el mapa de bits en función del modo de estrechamiento seleccionado para el contexto de dispositivo.

Sintaxis

BOOL StretchBlt(
    HDC hdcDest,      // manipulador del contexto de dispositivo de destino
    int nXOriginDest, // coordenada x de la esquina superior izquierda del rectángulo de destino
    int nYOriginDest, // coordenada y de la esquina superior izquierda del rectángulo de destino
    int nWidthDest,   // anchura del rectángulo de destino
    int nHeightDest,  // altura del rectángulo de destino
    HDC hdcSrc,       // manipulador del contexto de dispositivo de origen
    int nXOriginSrc,  // coordenada x de la esquina superior izquierda del rectángulo de origen 
    int nYOriginSrc,  // coordenada y de la esquina superior izquierda del rectángulo de origen
    int nWidthSrc,    // anchura del rectángulo de origen
    int nHeightSrc,   // altura del rectángulo de origen
    DWORD dwRop       // código de operación de rastreo
   );

Parámetros:

hdcDest: identifica el contexto de dispositivo de destino.

nXOriginDest: especifica la coordenada x, en unidades lógicas, de la esquina superior izquierda del rectángulo de destino.

nYOriginDest: especifica la coordenada y, en unidades lógicas, de la esquina superior izquierda del rectángulo de destino.

nWidthDest: especifica la anchura, en unidades lógicas, del rectángulo de destino.

nHeightDest: especifica la altura, en unidades lógicas, del rectángulo de destino.

hdcSrc: identifica el contexto de dispositivo de origen.

nXOriginSrc: especifica la coordenada x, en unidades lógicas, de la esquina superior izquierda del rectángulo de origen.

nYOriginSrc: especifica la coordenada y, en unidades lógicas, de la esquina superior izquierda del rectángulo de origen.

nWidthSrc: especifica la anchura, en unidades lógicas, del rectángulo de origen.

nHeightSrc: especifica la altura, en unidades lógicas, del rectángulo de origen.

dwRop: especifica la operación de rastreo a realizar. Los códigos de operación de rastreo definen como combina Windows los colores en operaciones de salida que involucren pinceles y mapas de bits de origen y destino.

Ver la función BitBlt para obtener información sobre la lista de los códigos de operaciones de rastreo comunes.

Valor de retorno

Si la función tiene éxito, el valor de retorno es TRUE.

Si la función falla, el valor de retorno es FALSE. Para obtener información más detallada sobre el error, llamar a la función GetLastError.

Observaciones

Esta función estira o comprime el mapa de bits de origen en memoria y a continuación copia el resultado al rectángulo de destino. Los datos de color para patrones o pixels de destino son fusionados después del estiramiento o compresión.

Cuando se comienza a grabar un metafichero mejorado, ocurre un error (y la función retorna con FALSE) si el contexto de dispositivo origen identifica a un contexto de dispositivo de un metafichero mejorado.

Si la operación de rastreo especificada requiere un pincel, Windows usa el pincel seleccionado actualmente en el contexto de dispositivo de destino.

Las coordenadas de destino se transforman usando la transformación actualmente especificada para el contexto de dispositivo de destino; las coordenadas de origen se transforman usando la transformación actualmente especificada para el contexto de dispositivo de origen.

Si la transformación del origen es una rotación o un recorte, ocurrirá un error.

Si los mapas de bits de destino, origen y textura de pincel no tienen el mismo formato de color, StretchBlt convierte el mapa de bits de origen y el patrón de textura de pincel para que coincidan con el mapa de bits de destino.

Si StretchBlt debe convertir un mapa de bits monocromo a uno en color, pondrá los bits de blanco (1) al color de fondo y los negros (0) al color de primer plano. Para convertir un mapa de bits en color a uno monocromo, pone los pixels que coincidan con el color de fondo a blanco (1) y el resto a negro (0). Se usan los colores de primer plano y de fondo del contexto de dispositivo con color.

StretchBlt crea una imagen especular de un mapa de bits si los parámetros nWidthSrc y nWidthDest o si los parámetros nHeightSrc y nHeightDest se diferencian en el signo. Si nWidthSrc y nWidthDest tienen signos diferentes, la función crea una imagen especular a lo largo del eje x. Si nHeightSrc y nHeightDest tiene signos diferente, la función crea una imagen especular del mapa de bits a lo largo del eje y.

No todos los dispositivos soportan la función StretchBlt. Para mayor información, ver la función GetDeviceCaps.