Condividi tramite


Metodo PathGradientBrush::GetInterpolationColorCount (gdipluspath.h)

Il metodo PathGradientBrush::GetInterpolationColorCount ottiene il numero di colori predefiniti attualmente specificati per questo pennello sfumatura del percorso.

Sintassi

INT GetInterpolationColorCount();

Valore restituito

Tipo: INT

Questo metodo restituisce il numero di colori predefiniti attualmente specificati per questo pennello sfumatura percorso.

Commenti

Un pennello sfumatura percorso semplice ha due colori: un colore limite e un colore centrale. Quando si dipinge con tale pennello, il colore cambia gradualmente dal colore del limite al colore centrale mentre si sposta dal percorso limite al punto centrale. È possibile creare una sfumatura più complessa specificando una matrice di colori predefiniti e una matrice di posizioni di blend.

È possibile ottenere i colori di interpolazione e le posizioni di interpolazione attualmente impostati per un oggetto PathGradientBrush chiamando il metodo PathGradientBrush::GetInterpolationColors dell'oggetto PathGradientBrush. Prima di chiamare il metodo PathGradientBrush::GetInterpolationColors , è necessario allocare due buffer: uno per contenere la matrice di colori di interpolazione e uno per contenere la matrice di posizioni di interpolazione. È possibile chiamare il metodo PathGradientBrush::GetInterpolationColorCount dell'oggetto PathGradientBrush per determinare le dimensioni necessarie di tali buffer. La dimensione del buffer dei colori è il valore restituito di GetInterpolationColorCount moltiplicato per sizeof(Color). Le dimensioni del buffer di posizione sono il valore di PathGradientBrush::GetInterpolationColorCount moltiplicato per sizeof( REAL).

Esempio

Nell'esempio seguente viene creato un oggetto PathGradientBrush da un percorso triangolare. Il codice imposta i colori predefiniti su rosso, blu e aqua e imposta le posizioni di blend su 0, 0,6 e 1. Il codice chiama il metodo PathGradientBrush::GetInterpolationColorCount dell'oggetto PathGradientBrush per ottenere il numero di colori predefiniti attualmente impostati per il pennello. Successivamente, il codice alloca due buffer: uno per contenere la matrice di colori predefiniti e uno per contenere la matrice di posizioni di blend. La chiamata al metodo PathGradientBrush::GetInterpolationColors dell'oggetto PathGradientBrush riempie i buffer con i colori predefiniti e le posizioni di blend. Infine il codice riempie un piccolo quadrato con ognuno dei colori predefiniti.

VOID Example_GetInterpColors(HDC hdc)
{
   Graphics graphics(hdc);

   // Create a path gradient brush from an array of points, and
   // set the interpolation colors for that brush.

   Point points[] = {Point(100, 0), Point(200, 200), Point(0, 200)};
   PathGradientBrush pthGrBrush(points, 3);

   Color col[] = {
      Color(255, 255, 0, 0),     // red
      Color(255, 0, 0, 255),     // blue
      Color(255, 0, 255, 255)};  // aqua

   REAL pos[] = {
      0.0f,    // red at the boundary
      0.6f,    // blue 60 percent of the way from the boundary to the center
      1.0f};   // aqua at the center

   pthGrBrush.SetInterpolationColors(col, pos, 3);

   // Obtain information about the path gradient brush.
   INT colorCount = pthGrBrush.GetInterpolationColorCount();
   Color* colors = new Color[colorCount];
   REAL* positions = new REAL[colorCount];
   pthGrBrush.GetInterpolationColors(colors, positions, colorCount);

   // Fill a small square with each of the interpolation colors.
   SolidBrush solidBrush(Color(255, 255, 255, 255));

   for(INT j = 0; j < colorCount; ++j)
   {
      solidBrush.SetColor(colors[j]);
      graphics.FillRectangle(&solidBrush, 15*j, 0, 10, 10);
   }

   delete [] colors;
   delete [] positions; 
}

Requisiti

Requisito Valore
Client minimo supportato Windows XP, Windows 2000 Professional [solo app desktop]
Server minimo supportato Windows 2000 Server [solo app desktop]
Piattaforma di destinazione Windows
Intestazione gdipluspath.h (include Gdiplus.h)
Libreria Gdiplus.lib
DLL Gdiplus.dll

Vedi anche

Pennelli e forme piene

Colore

Creazione di una sfumatura di percorso

Riempimento di una forma con sfumatura di colore

PathGradientBrush

PathGradientBrush::GetInterpolationColors

PathGradientBrush::SetInterpolationColors