Condividi tramite


Metodo TextureBrush::RotateTransform (gdiplusbrush.h)

Il metodo TextureBrush::RotateTransform aggiorna la matrice di trasformazione corrente del pennello trama con il prodotto stesso e una matrice di rotazione.

Sintassi

Status RotateTransform(
  [in] REAL        angle,
  [in] MatrixOrder order
);

Parametri

[in] angle

Tipo: REAL

Numero reale che specifica l'angolo, espresso in gradi, di rotazione.

[in] order

Tipo: MatrixOrder

facoltativo. Elemento dell'enumerazione MatrixOrder che specifica l'ordine della moltiplicazione. MatrixOrderPrepend specifica che la matrice di rotazione si trova a sinistra e MatrixOrderAppend specifica che la matrice di rotazione si trova 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 R rappresenti una rotazione e che la matrice T rappresenti una traslazione. Se matrice M è il prodotto RT, la matrice M rappresenta una trasformazione composita: prima ruota, quindi traduci.

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_RotateTransform(HDC hdc)
{
   Graphics graphics(hdc);

   Image image(L"HouseAndTree.Gif");
   TextureBrush textureBrush(&image);
   textureBrush.ScaleTransform(3, 1);                    // first scale
   textureBrush.RotateTransform(30, MatrixOrderAppend);  // then rotate
   graphics.FillRectangle(&textureBrush, 0, 0, 400, 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 gdiplusbrush.h (include Gdiplus.h)
Libreria Gdiplus.lib
DLL Gdiplus.dll

Vedi anche

Pennelli e forme piene

Riempimento di forme con pennello sfumato

Immagine

Matrice

Rappresentazione tramite matrici delle trasformazioni

Matrixorder

Texturebrush

TextureBrush::ScaleTransform

TextureBrush::SetTransform

TextureBrush::TranslateTransform

Trasformazioni