Condividi tramite


Metodo PathGradientBrush::TranslateTransform (gdipluspath.h)

Il metodo PathGradientBrush::TranslateTransform aggiorna la matrice di trasformazione corrente del pennello con il prodotto stesso e una matrice di conversione.

Sintassi

Status TranslateTransform(
  [in] REAL        dx,
  [in] REAL        dy,
  [in] MatrixOrder order
);

Parametri

[in] dx

Tipo: REAL

Numero reale che specifica il componente orizzontale della traslazione.

[in] dy

Tipo: REAL

Numero reale che specifica il componente verticale della traslazione.

[in] order

Tipo: MatrixOrder

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

Esempio

Nell'esempio seguente viene creato un oggetto PathGradientBrush basato su un percorso triangolare. Le chiamate ai metodi PathGradientBrush::ScaleTransform e PathGradientBrush::TranslateTransform dell'oggetto PathGradientBrush impostano gli elementi della matrice di trasformazione del pennello in modo che rappresenti una trasformazione composita: prima scala, quindi traduci. 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_TranslateTrans(HDC hdc)
{
   Graphics graphics(hdc);

   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.ScaleTransform(3.0f, 1.0f);
   pthGrBrush.TranslateTransform(100.0f, 50.0f, MatrixOrderAppend);

   // Fill the same area with the transformed path gradient brush.
   graphics.FillRectangle(&pthGrBrush, 0, 0, 500, 500);  
}

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

Pennelli e forme piene

Creazione di una sfumatura di percorso

Riempimento di una forma con sfumatura di colore

Matrice

Rappresentazione tramite matrici delle trasformazioni

Matrixorder

PathGradientBrush

PathGradientBrush::GetTransform

PathGradientBrush::MultiplyTransform

PathGradientBrush::ResetTransform

PathGradientBrush::RotateTransform

PathGradientBrush::ScaleTransform

PathGradientBrush::SetTransform

Trasformazioni