Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Imposta la trasformazione applicata al pennello.
Elenco di overload
| metodo | Description |
|---|---|
| SetTransform(D2D1_MATRIX_3X2_F&) | Imposta la trasformazione applicata al pennello. |
| SetTransform(D2D1_MATRIX_3X2_F*) | Imposta la trasformazione applicata al pennello. |
Osservazioni:
Quando si disegna con un pennello, viene dipinto nello spazio delle coordinate della destinazione di rendering. I pennelli non si posizionano automaticamente per allinearsi all'oggetto disegnato; per impostazione predefinita, iniziano a disegnare all'origine (0, 0) della destinazione di rendering.
È possibile "spostare" la sfumatura definita da un ID2D1LinearGradientBrush in un'area di destinazione impostando il punto iniziale e il punto finale. Analogamente, è possibile spostare la sfumatura definita da un ID2D1RadialGradientBrush modificandone il centro e i raggi.
Per allineare il contenuto di un OGGETTO ID2D1BitmapBrush all'area da disegnare, è possibile utilizzare il metodo SetTransform per convertire la bitmap nella posizione desiderata. Questa trasformazione influisce solo sul pennello; non influisce su altri contenuti disegnati dalla destinazione di rendering.
Le illustrazioni seguenti illustrano l'effetto dell'uso di un oggetto ID2D1BitmapBrush per riempire un rettangolo situato in (100, 100). L'illustrazione a sinistra mostra il risultato del riempimento del rettangolo senza trasformare il pennello: la bitmap viene disegnata all'origine della destinazione di rendering. Di conseguenza, solo una parte della bitmap viene visualizzata nel rettangolo.
La figura a destra mostra il risultato della trasformazione di ID2D1BitmapBrush in modo che il relativo contenuto venga spostato a destra e 50 pixel verso il basso. La bitmap ora riempie il rettangolo.
Examples
Negli esempi di codice seguenti viene illustrato come creare la trasformazione illustrata nel diagramma a destra nell'illustrazione precedente. Applicare prima una traduzione all'oggetto ID2D1BitmapBrush, spostando il pennello di 50 pixel lungo l'asse x e 50 pixel verso il basso lungo l'asse y. Usare quindi ID2D1BitmapBrush per riempire il rettangolo con l'angolo superiore sinistro in (100, 100) e l'angolo inferiore destro in (200, 200).
// Create the bitmap to be used by the bitmap brush.
if (SUCCEEDED(hr))
{
hr = LoadResourceBitmap(
m_pRenderTarget,
m_pWICFactory,
L"FERN",
L"Image",
&m_pBitmap
);
}
if (SUCCEEDED(hr))
{
hr = m_pRenderTarget->CreateBitmapBrush(
m_pBitmap,
&m_pBitmapBrush
);
}
D2D1_RECT_F rcTransformedBrushRect = D2D1::RectF(100, 100, 200, 200);
// Demonstrate the effect of transforming a bitmap brush.
m_pBitmapBrush->SetTransform(
D2D1::Matrix3x2F::Translation(D2D1::SizeF(50,50))
);
// To see the content of the rcTransformedBrushRect, comment
// out this statement.
m_pRenderTarget->FillRectangle(
&rcTransformedBrushRect,
m_pBitmapBrush
);
m_pRenderTarget->DrawRectangle(rcTransformedBrushRect, m_pBlackBrush, 1, NULL);
Requirements
| Requisito | Value |
|---|---|
| Intestazione |
|
| Library |
|
| DLL |
|