Metodo TextureBrush::ScaleTransform (gdiplusbrush.h)
Il metodo TextureBrush::ScaleTransform aggiorna la matrice di trasformazione corrente del pennello di trama 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 la quantità da ridimensionare nella direzione x.
[in] sy
Tipo: REAL
Numero reale che specifica la quantità da ridimensionare nella direzione y.
[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 3×3 può archiviare qualsiasi sequenza di trasformazioni affine. Se sono presenti più matrici 3×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 che la matrice S rappresenti un ridimensionamento. Se matrice M è il TS del prodotto, matrice M rappresenta una trasformazione composita: prima traduci, quindi ridimensiona.
L'ordine della moltiplicazione della matrice è importante. In generale, il prodotto matrice RT non è lo stesso del prodotto matrice TR. Nell'esempio specificato nel paragrafo precedente, la trasformazione composita rappresentata da RT (prima ruota, quindi traduci) non è uguale alla trasformazione composita rappresentata da TR (prima traduci, quindi ruota).
Esempio
Nell'esempio seguente viene creato un pennello di trama e viene impostata la trasformazione del pennello. Il codice usa quindi il pennello trasformato per riempire un rettangolo.
VOID Example_ScaleTransform(HDC hdc)
{
Graphics graphics(hdc);
Image image(L"HouseAndTree.Gif");
TextureBrush textureBrush(&image);
textureBrush.RotateTransform(30); // first rotate
textureBrush.ScaleTransform(3, 1, MatrixOrderAppend); // then scale
graphics.FillRectangle(&textureBrush, 0, 0, 400, 200);
}
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
Riempimento di forme con pennello sfumato
Rappresentazione tramite matrici delle trasformazioni
TextureBrush::MultiplyTransform