wingdi.h


SetStretchBltMode

Modifica el modo de estiramiento de mapas de bits para un determinado contexto de dispositivo.

Sintaxis

int SetStretchBltMode(
    HDC hdc,         // manipulador de contexto de dispositivo
    int iStretchMode // modo de estiramiento de mapa de bits
   );

Parámetros:

hdc: identifica el contexto de dispositivo.

iStretchMode: especifica el modo de estiramiento. Puede ser cualquiera de los siguientes valores:

Valor Descripción
BLACKONWHITE Realiza una operación booleana AND usando los valores de color de los pixels eliminados o existentes. Si el mapa de bits es monocromo, este modo preserva los pixels negros a costa de los blancos.
COLORONCOLOR Borra los pixels. Este modo borra todas las líneas de pixels sin intentar preservar su información.
HALFTONE Proyecta los pixels desde el rectángulo fuente dentro de bloques de pixels en el rectángulo destino. El color medio del bloque de pixels de destino se aproxima al color de los pixels de origen.
Después de activar el modo de estiramiento a HALFTONE, la aplicación debe llamar a la función SetBrushOrgEx para cambiar el origen del pincel. Si falla al hacerlo, habrá un desalineamiento del pincel.
STRETCH_ANDSCANS Windows 95: lo mismo que BLACKONWHITE.
STRETCH_DELETESCANS Windows 95: lo mismo que COLORONCOLOR.
STRETCH_HALFTONE Windows 95: lo mismo que HALFTONE.
STRETCH_ORSCANS Windows 95: lo mismo que WHITEONBLACK.
WHITEONBLACK Realiza una operación booleana OR usando los valores de color de los pixels eliminados o existentes. Si el mapa de bits es monocromo, este modo preserva los pixels blancos a cosa de los negros.

Valor de retorno

Si la función tiene éxito, el valor de retorno es el valor previo del modo de estiramiento.

Si la función falla, el valor de retorno es cero.

Observaciones

El modo de estiramiento define como combina Windows las filas y columnas de un mapa de bits con los pixels existentes en la pantalla cuando una aplicación llama a la función StretchBlt.

Los modos BLACKONWHITE (STRETCH_ANDSCANS) y WHITEONBLACK (STRETCH_ORSCANS) se usan típicamente para conservar los pixels del fondo en mapas de bits monocromáticos. El modo COLORONCOLOR (STRETCH_DELETESCANS) se suele usar para conservar el color en mapas de bits en color.

El modo HALFTONE requiere más proceso de la imagen fuente que los otros tres modos; eso lo hace más lento que los otros, pero produce una mayor calidad en las imágenes. También hay que tener en cuenta que es necesario llamar a la función SetBrushOrgEx después de activar el modo HALFTONE para prevenir que se produzca un desalineamiento de los pinceles.

Pueden existir más modos de estiramiento dependiendo de las capacidades del manejador del dispositivo.