Método ImageAttributes::SetColorKey (gdiplusimageattributes.h)
O método ImageAttributes::SetColorKey define a chave de cor (intervalo de transparência) para uma categoria especificada.
Sintaxe
Status SetColorKey(
[in, ref] const Color & colorLow,
[in, ref] const Color & colorHigh,
[in, optional] ColorAdjustType type
);
Parâmetros
[in, ref] colorLow
Tipo: const Color
Referência a um objeto Color que especifica o valor de chave de cor baixa.
[in, ref] colorHigh
Tipo: const Color
Referência a um objeto Color que especifica o alto valor de chave de cor.
[in, optional] type
Tipo: ColorAdjustType
Elemento da enumeração ColorAdjustType que especifica a categoria para a qual a chave de cor está definida. O valor padrão é ColorAdjustTypeDefault.
Retornar valor
Tipo: Status
Se o método for bem-sucedido, ele retornará Ok, que é um elemento da enumeração Status .
Se o método falhar, ele retornará um dos outros elementos da enumeração Status .
Comentários
Esse método define os valores de chave de cor alta e baixa para que a disputa de cores possa ser transparente. Qualquer cor que tenha cada um de seus três componentes (vermelho, verde, azul) entre os componentes correspondentes das teclas de cor alta e baixa é transparente.
Um objeto ImageAttributes mantém as configurações de cor e escala de cinza para cinco categorias de ajuste: padrão, bitmap, pincel, caneta e texto. Por exemplo, você pode especificar uma chave de cor para a categoria padrão, uma chave de cor diferente para a categoria bitmap e ainda uma chave de cor diferente para a categoria de caneta.
As configurações padrão de ajuste de escala de cores e cinza se aplicam a todas as categorias que não têm configurações de ajuste próprias. Por exemplo, se você nunca especificar nenhuma configuração de ajuste para a categoria de caneta, as configurações padrão se aplicarão à categoria de caneta.
Assim que você especificar uma configuração de ajuste de escala de cor ou cinza para uma determinada categoria, as configurações de ajuste padrão não se aplicam mais a essa categoria. Por exemplo, suponha que você especifique uma coleção de configurações de ajuste para a categoria padrão. Se você definir a chave de cor para a categoria de caneta passando ColorAdjustTypePen para o método ImageAttributes::SetColorKey , nenhuma das configurações de ajuste padrão se aplicará às canetas.
Exemplos
O exemplo a seguir cria um objeto Image de um arquivo .bmp. O código também cria um objeto ImageAttributes . A chamada para ImageAttributes::SetColorKey define a chave de cor bitmap do objeto ImageAttributes para que qualquer cor que atenda a todas as três condições a seguir seja transparente:
- O componente vermelho está no intervalo de 100 a 250.
- O componente verde está no intervalo de 95 a 245.
- O componente azul está no intervalo de 30 a 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 | Valor |
---|---|
Cliente mínimo com suporte | Windows XP, Windows 2000 Professional [somente aplicativos da área de trabalho] |
Servidor mínimo com suporte | Windows 2000 Server [somente aplicativos da área de trabalho] |
Plataforma de Destino | Windows |
Cabeçalho | gdiplusimageattributes.h (inclua Gdiplus.h) |
Biblioteca | Gdiplus.lib |
DLL | Gdiplus.dll |
Confira também
ImageAttributes::ClearColorKey