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.

Ilustración con dos filas de rectángulos coloreados; el último de los cuales es verde en la fila 1, azul en la fila 2

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

Consulte también

Bitmap

Color

ColorAdjustType

ColorMap

ColorPalette

Imagen

ImageAttributes

Metarchivo de

PaletteFlags

Cambio de color