Condividi tramite


Metodo LinearGradientBrush::SetBlendBellShape (gdiplusbrush.h)

Il metodo LinearGradientBrush::SetBlendBellShape imposta la forma blend di questo pennello sfumato lineare per creare una fusione personalizzata basata su una curva a forma di campana.

Sintassi

Status SetBlendBellShape(
  [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 limite e deve essere compreso 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 mescolata, nella posizione dello stato attivo, con il colore iniziale della sfumatura. Questo numero deve essere compreso nell'intervallo compreso tra 0,0 e 1,0. Il valore predefinito è 1,0, che specifica che il colore finale è a piena intensità.

Valore restituito

Tipo: Stato

Se il metodo ha esito positivo, restituisce Ok, che è 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 sfumato lineare) mentre si passa dal limite iniziale al limite finale. È possibile personalizzare il posizionamento e la fusione dei colori iniziali e finali usando il metodo LinearGradientBrush::SetBlendBellShape .

Il metodo LinearGradientBrush::SetBlendBellShape personalizza la miscela in modo che segua una curva a forma di campana con gli estremi della base della campana ai limiti della sfumatura. Il colore iniziale, che, in una miscela predefinita, si trova al limite iniziale di un pennello sfumato lineare, viene visualizzato ai limiti iniziali e finali del pennello sfumato lineare quando viene applicata una fusione a forma di campana. La posizione del colore finale, che, in una fusione predefinita, si trova al limite finale, si trova tra i limiti e viene determinata dal valore dello stato attivo. In altre parole, lo stato attivo specifica la posizione del picco della campana. Ad esempio, un valore dello stato attivo pari a 0,7 posiziona il picco al 70% della distanza tra i limiti iniziale e finale. Il colore finale viene visualizzato in corrispondenza di questo picco.

Il colore finale in una miscela a forma di campana è una percentuale della gamma tra il colore iniziale della sfumatura predefinita e il colore finale di fusione predefinita. Si supponga, ad esempio, che un pennello sfumato lineare venga costruito con rosso come colore iniziale e blu come colore finale. Se LinearGradientBrush::SetBlendBellShape viene chiamato con un valore di scala pari a 0,8, il colore finale nella miscela a forma di campana è una tonalità che corrisponde all'80% tra rosso e blu (20% rosso, 80% 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 sfumato lineare, viene impostata una miscela a forma di campana e viene utilizzato il pennello per riempire un rettangolo. Due volte più, il codice imposta una fusione a forma di campana con valori diversi e, ogni volta, usa il pennello per riempire un rettangolo.

VOID Example_SetBlendBell(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.SetBlendBellShape(0.5f, 0.6f);
   myGraphics.FillRectangle(&linGrBrush, 0, 0, 500, 50);

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

   linGrBrush.SetBlendBellShape(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::SetBlendTriangularShape

Utilizzo di un oggetto Brush per il riempimento di forme