Metodo PathGradientBrush::SetTransform (gdipluspath.h)
Il metodo PathGradientBrush::SetTransform imposta la matrice di trasformazione del pennello sfumatura del percorso.
Sintassi
Status SetTransform(
[in] const Matrix *matrix
);
Parametri
[in] matrix
Tipo: matrice* const
Puntatore a un oggetto Matrix che specifica la matrice di trasformazione.
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
Un oggetto PathGradientBrush ha un oggetto GraphicsPath che funge da percorso limite per il pennello. Quando si disegna con un pennello sfumatura percorso, viene riempita solo l'area all'interno del percorso limite. Se la matrice di trasformazione del pennello è impostata per rappresentare qualsiasi trasformazione diversa dall'identità, il percorso limite viene trasformato in base a tale matrice durante il rendering e viene riempita solo l'area all'interno del percorso trasformato.
La trasformazione si applica solo durante il rendering. Il percorso limite archiviato dall'oggetto PathGradientBrush non viene modificato dal metodo PathGradientBrush::SetTransform .
Esempio
Nell'esempio seguente viene creato un oggetto PathGradientBrush basato su un percorso triangolare. Il metodo Graphics::FillRectangle usa il pennello sfumatura del percorso per disegnare un rettangolo contenente il percorso triangolare. Successivamente, il codice crea un oggetto Matrix che rappresenta una trasformazione composita (ruota, quindi converte) e passa l'indirizzo dell'oggetto Matrix al metodo PathGradientBrush::SetTransform dell'oggetto PathGradientBrush . Il codice chiama FillRectangle una seconda volta per disegnare lo stesso rettangolo usando il pennello sfumatura del percorso trasformato.
VOID Example_SetTransform(HDC hdc)
{
Graphics graphics(hdc);
Point pts[] = {
Point(0, 0),
Point(100, 0),
Point(100, 100)};
Color cols[] = {
Color(255, 255, 0, 0), // red
Color(255, 0, 255, 0), // green
Color(255, 0, 0, 0)}; // black
INT count = 3;
PathGradientBrush pthGrBrush(pts, 3);
pthGrBrush.SetSurroundColors(cols, &count);
// Fill an area with the path gradient brush (no transformation).
graphics.FillRectangle(&pthGrBrush, 0, 0, 200, 200);
// Set the transformation for the brush (rotate, then translate).
Matrix matrix(0.0f, 1.0f, -1.0f, 0.0f, 150.0f, 60.0f);
pthGrBrush.SetTransform(&matrix);
// Fill the same area with the transformed path gradient brush.
graphics.FillRectangle(&pthGrBrush, 0, 0, 200, 200);
}
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
Creazione di una sfumatura di percorso
Riempimento di una forma con sfumatura di colore
PathGradientBrush::GetTransform
PathGradientBrush::MultipliTransform
PathGradientBrush::ResetTransform
PathGradientBrush::RotateTransform