Metodo PathGradientBrush::ScaleTransform (gdipluspath.h)
Il metodo PathGradientBrush::ScaleTransform aggiorna la matrice di trasformazione corrente del pennello con il prodotto stesso e una matrice di ridimensionamento.
Sintassi
Status ScaleTransform(
[in] REAL sx,
[in] REAL sy,
[in] MatrixOrder order
);
Parametri
[in] sx
Tipo: REAL
Numero reale che specifica il fattore di scala orizzontale.
[in] sy
Tipo: REAL
Numero reale che specifica il fattore di scala verticale.
[in] order
Tipo: MatrixOrder
Facoltativa. Elemento dell'enumerazione MatrixOrder che specifica l'ordine della moltiplicazione. MatrixOrderPrepend specifica che la matrice di ridimensionamento si trova a sinistra e MatrixOrderAppend specifica che la matrice di ridimensionamento è a destra. Il valore predefinito è MatrixOrderPrepend.
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
Una singola matrice di ×3 può archiviare qualsiasi sequenza di trasformazioni affine. Se sono presenti più di 3 matrici ×3, ognuna delle quali rappresenta una trasformazione affine, il prodotto di tali matrici è una singola matrice 3 ×3 che rappresenta l'intera sequenza di trasformazioni. La trasformazione rappresentata da tale prodotto è detta trasformazione composita. Si supponga, ad esempio, che la matrice T rappresenti una traslazione e una matrice S rappresenta un ridimensionamento. Se matrice M è il TS del prodotto, matrice M rappresenta una trasformazione composita: prima traduci, quindi ridimensiona.
Esempio
Nell'esempio seguente viene creato un oggetto PathGradientBrush basato su un percorso triangolare. Le chiamate ai metodi PathGradientBrush::TranslateTransform e PathGradientBrush::ScaleTransform dell'oggetto PathGradientBrush impostano gli elementi della matrice di trasformazione del pennello in modo che rappresenti una trasformazione composita: prima traduci, quindi ridimensiona. Il codice usa il pennello sfumato del percorso due volte per disegnare un rettangolo: una volta prima che la trasformazione venga impostata e una volta dopo l'impostazione della trasformazione.
VOID Example_ScaleTransform(HDC hdc)
{
Graphics graphics(hdc);
// Create a path gradient brush based on an array of points.
Point pts[] = {Point(0, 0), Point(50, 0), Point(50, 50)};
PathGradientBrush pthGrBrush(pts, 3);
// Fill an area with the path gradient brush (no transformation).
graphics.FillRectangle(&pthGrBrush, 0, 0, 500, 500);
pthGrBrush.TranslateTransform(50.0f, 40.0f); // translate
pthGrBrush.ScaleTransform(3.0f, 2.0f, MatrixOrderAppend); // then scale
// Fill the same area with the transformed path gradient brush.
graphics.FillRectangle(&pthGrBrush, 0, 0, 500, 500);
}
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 | 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
Rappresentazione tramite matrici delle trasformazioni
PathGradientBrush::GetTransform
PathGradientBrush::MultiplyTransform
PathGradientBrush::ResetTransform
PathGradientBrush::RotateTransform
PathGradientBrush::SetTransform