Condividi tramite


Metodo LinearGradientBrush::SetBlendTriangularShape (gdiplusbrush.h)

Il metodo LinearGradientBrush::SetBlendTriangularShape imposta la forma di blend di questo pennello sfumatura lineare per creare una miscela personalizzata basata su una forma triangolare.

Sintassi

Status SetBlendTriangularShape(
  [in] REAL focus,
  [in] REAL scale
);

Parametri

[in] focus

Tipo: REAL

Numero reale che specifica la posizione del colore finale. Questo numero è una percentuale della distanza tra le linee di limite e deve trovarsi nell'intervallo compreso tra 0,0 e 1,0.

[in] scale

Tipo: REAL

Facoltativa. Numero reale che specifica la percentuale del colore finale della sfumatura che viene miscelata, in corrispondenza della posizione dello stato attivo, con il colore iniziale della sfumatura. Questo numero deve trovarsi nell'intervallo compreso tra 0,0 e 1,0. Il valore predefinito è 1,0, che specifica che il colore finale è a intensità completa.

Valore restituito

Tipo: Stato

Se il metodo ha esito positivo, restituisce Ok, ovvero un elemento dell'enumerazione Status .

Se il metodo ha esito negativo, restituisce uno degli altri elementi dell'enumerazione Status .

Commenti

Per impostazione predefinita, il colore cambia gradualmente dal colore iniziale (colore al limite iniziale del pennello sfumatura lineare) al colore finale (colore al limite finale del pennello sfumatura lineare) mentre si passa dal limite iniziale al limite finale. È possibile personalizzare la posizione e la fusione dei colori iniziali e finali usando il metodo LinearGradientBrush::SetBlendTriangularShape .

Il metodo LinearGradientBrush::SetBlendTriangularShape personalizza la fusione in modo che segue una forma triangolare con gli estremi della base del triangolo ai limiti del gradiente. Il colore iniziale, che, in una miscela predefinita, si trova al limite iniziale di un pennello sfumatura lineare, viene visualizzato ai limiti iniziali e finali del pennello sfumatura lineare quando viene applicata una fusione a forma triangolare. La posizione del colore finale, che, in una fusione predefinita, si trova al limite finale, è da qualche parte tra i limiti e viene determinata dal valore dello stato attivo. In altre parole, lo stato attivo specifica la posizione del picco del triangolo. Ad esempio, un valore dello stato attivo pari a 0,5 posiziona il picco tra i limiti iniziali e finali. Il colore finale viene visualizzato in questo picco.

Il colore finale di una miscela triangolare è una percentuale della gamma tra il colore iniziale predefinito della sfumatura e il colore finale di fusione predefinita. Si supponga, ad esempio, che un pennello sfumatura lineare venga costruito con rosso come colore iniziale e blu come colore finale. Se LinearGradientBrush::SetBlendTriangularShape viene chiamato con un valore di scala pari a 0,3, il colore finale della miscela triangolare è una tonalità del 30% tra rosso e blu (70% rosso, 30% blu). Un valore di scala pari a 1,0 produce un colore finale che è blu del 100%.

Esempio

Nell'esempio seguente viene creato un pennello sfumatura lineare, viene impostata una miscela a forma triangolare e viene usato il pennello per riempire un rettangolo. Due volte più, il codice imposta una fusione a forma triangolare con valori diversi e, ogni volta, usa il pennello per riempire un rettangolo.

VOID Example_SetBlendTri(HDC hdc)
{
   Graphics myGraphics(hdc);

   LinearGradientBrush linGrBrush(
      Point(0, 0),
      Point(500, 0),
      Color(255, 255, 0, 0),   // red
      Color(255, 0, 0, 255));  // blue

   linGrBrush.SetBlendTriangularShape(0.5f, 0.6f);
   myGraphics.FillRectangle(&linGrBrush, 0, 0, 500, 50);

   linGrBrush.SetBlendTriangularShape(0.5f, 0.8f); 
   myGraphics.FillRectangle(&linGrBrush, 0, 75, 500, 50);

   linGrBrush.SetBlendTriangularShape(0.5f, 1.0f); 
   myGraphics.FillRectangle(&linGrBrush, 0, 150, 500, 50);
}

Requisiti

   
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 gdiplusbrush.h (include Gdiplus.h)
Libreria Gdiplus.lib
DLL Gdiplus.dll

Vedi anche

Pennelli e forme piene

Creazione di una sfumatura lineare

Riempimento di una forma con sfumatura di colore

LinearGradientBrush

LinearGradientBrush::GetBlend

LinearGradientBrush::SetBlend

LinearGradientBrush::SetBlendBellShape

Point