Método ImageAttributes::SetColorKey (gdiplusimageattributes.h)
El método ImageAttributes::SetColorKey establece la clave de color (intervalo de transparencia) de una categoría especificada.
Sintaxis
Status SetColorKey(
[in, ref] const Color & colorLow,
[in, ref] const Color & colorHigh,
[in, optional] ColorAdjustType type
);
Parámetros
[in, ref] colorLow
Referencia a un objeto Color que especifica el valor de clave de color bajo.
[in, ref] colorHigh
Referencia a un objeto Color que especifica el valor de clave de color alto.
[in, optional] type
Tipo: ColorAdjustType
Elemento de la enumeración ColorAdjustType que especifica la categoría para la que se establece la clave de color. El valor predeterminado es ColorAdjustTypeDefault.
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 .
Comentarios
Este método establece los valores de clave de color alto y bajo para que la gama de colores se pueda hacer transparente. Cualquier color que tenga cada uno de sus tres componentes (rojo, verde, azul) entre los componentes correspondientes de las teclas de color alto y bajo se hace transparente.
Un objeto ImageAttributes mantiene la configuración de color y escala de grises para cinco categorías de ajuste: predeterminado, mapa de bits, pincel, lápiz y texto. Por ejemplo, puede especificar una clave de color para la categoría predeterminada, una clave de color diferente para la categoría de mapa de bits y una clave de color diferente para la categoría de lápiz.
La configuración predeterminada de ajuste de escala de grises y color se aplica a todas las categorías que no tienen ajustes de ajuste propios. Por ejemplo, si nunca especifica ninguna configuración de ajuste para la categoría de lápiz, la configuración predeterminada se aplica a la categoría de lápiz.
En cuanto especifique un ajuste de ajuste de escala de grises o de color para una determinada categoría, la configuración de ajuste predeterminada ya no se aplica a esa categoría. Por ejemplo, supongamos que especifica una colección de opciones de ajuste para la categoría predeterminada. Si establece la clave de color para la categoría de lápiz pasando ColorAdjustTypePen al método ImageAttributes::SetColorKey , ninguna de las opciones de ajuste predeterminadas se aplicará a los lápices.
Ejemplos
En el ejemplo siguiente se crea un objeto Image a partir de un archivo .bmp. El código también crea un objeto ImageAttributes . La llamada a ImageAttributes::SetColorKey establece la clave de color de mapa de bits del objeto ImageAttributes para que cualquier color que cumpla las tres condiciones siguientes sea transparente:
- El componente rojo está comprendido entre 100 y 250.
- El componente verde está comprendido entre 95 y 245.
- El componente azul está comprendido entre 30 y 60.
VOID Example_SetColorKey(HDC hdc)
{
Graphics graphics(hdc);
// Create an Image object based on a BMP file.
// The image has three horizontal stripes.
// The color of the top stripe has RGB components (90, 90, 20).
// The color of the middle stripe has RGB components (150, 150, 150).
// The color of the bottom stripe has RGB components (130, 130, 40).
Image image(L"ColorKeyTest.bmp");
// Create an ImageAttributes object, and set its color key.
ImageAttributes imAtt;
imAtt.SetColorKey(
Color(100, 95, 30),
Color(250, 245, 60),
ColorAdjustTypeBitmap);
// Draw the image. Apply the color key.
// The bottom stripe of the image will be transparent because
// 100 <= 130 <= 250 and
// 95 <= 130 <= 245 and
// 30 <= 40 <= 60.
graphics.DrawImage(
&image,
Rect(20, 20, image.GetWidth(), image.GetHeight()), // dest rect
0, 0, image.GetWidth(), image.GetHeight(), // source rect
UnitPixel,
&imAtt);
}
Requisitos
Requisito | Value |
---|---|
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 | gdiplusimageattributes.h (include Gdiplus.h) |
Library | Gdiplus.lib |
Archivo DLL | Gdiplus.dll |
Consulte también
ImageAttributes::ClearColorKey