Método ImageAttributes::GetAdjustedPalette (gdiplusimageattributes.h)
El método ImageAttributes::GetAdjustedPalette ajusta los colores de una paleta según la configuración de ajuste de una categoría especificada.
Sintaxis
Status GetAdjustedPalette(
[in, out] ColorPalette *colorPalette,
[in] ColorAdjustType colorAdjustType
);
Parámetros
[in, out] colorPalette
Tipo: ColorPalette*
Puntero a una estructura ColorPalette que, en la entrada, contiene la paleta que se va a ajustar y, en la salida, recibe la paleta ajustada.
[in] colorAdjustType
Tipo: ColorPalette
Elemento de la enumeración ColorAdjustType que especifica la categoría cuya configuración de ajuste se aplicará a la paleta.
Valor devuelto
Tipo: Estado
Si el método se realiza 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
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 tabla de mapa de colores para la categoría predeterminada, una tabla de remape de color diferente para la categoría de mapa de bits y una tabla de remapa de color diferente para la categoría de lápiz.
Al llamar a ImageAttributes::GetAdjustedPalette, puede especificar la categoría de ajuste que se usa para ajustar los colores de la paleta. Por ejemplo, si pasa ColorAdjustTypeBitmap al método ImageAttributes::GetAdjustedPalette , la configuración de ajuste de la categoría de mapa de bits se usa para ajustar los colores de la paleta.
Ejemplos
En el ejemplo siguiente se inicializa una estructura ColorPalette con cuatro colores: aqua, negro, rojo y verde. El código también crea un objeto ImageAttributes y establece su tabla de reasignación de mapa de bits para que el verde se convierta en azul. A continuación, el código ajusta los colores de la paleta pasando la dirección de la paleta al método ImageAttributes::GetAdjustedPalette del objeto ImageAttributes . El código muestra los cuatro colores de paleta dos veces: una antes del ajuste y una vez después del ajuste.
VOID Example_GetAdjustedPalette(HDC hdc)
{
Graphics graphics(hdc);
INT j;
// Create a palette that has four entries.
ColorPalette* palette =
(ColorPalette*)malloc(sizeof(ColorPalette) + 3 * sizeof(ARGB));
palette->Flags = 0;
palette->Count = 4;
palette->Entries[0] = 0xFF00FFFF; // aqua
palette->Entries[1] = 0xFF000000; // black
palette->Entries[2] = 0xFFFF0000; // red
palette->Entries[3] = 0xFF00FF00; // green
// Display the four palette colors with no adjustment.
SolidBrush brush(Color());
for(j = 0; j < 4; ++j)
{
brush.SetColor(palette->Entries[j]);
graphics.FillRectangle(&brush, 30*j, 0, 20, 20);
}
// Create a remap table that converts green to blue.
ColorMap map;
map.oldColor = Color(255, 0, 255, 0); // green
map.newColor = Color(255, 0, 0, 255); // blue
// Create an ImageAttributes object, and set its bitmap remap table.
ImageAttributes imAtt;
imAtt.SetRemapTable(1, &map, ColorAdjustTypeBitmap);
// Adjust the palette.
imAtt.GetAdjustedPalette(palette, ColorAdjustTypeBitmap);
// Display the four palette colors after the adjustment.
for(j = 0; j < 4; ++j)
{
brush.SetColor(palette->Entries[j]);
graphics.FillRectangle(&brush, 30*j, 30, 20, 20);
}
}
En la ilustración siguiente se muestra la salida del código anterior. Tenga en cuenta que el verde de la paleta original se cambió a azul.
Requisitos
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 (incluya Gdiplus.h) |
Library | Gdiplus.lib |
Archivo DLL | Gdiplus.dll |