Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Define a transformação aplicada ao pincel.
Lista de sobrecarga
| Método | Description |
|---|---|
| SetTransform(D2D1_MATRIX_3X2_F&) | Define a transformação aplicada ao pincel. |
| SetTransform(D2D1_MATRIX_3X2_F*) | Define a transformação aplicada ao pincel. |
Comentários
Quando você pinta com um pincel, ele pinta no espaço de coordenadas do destino de renderização. Pincéis não se posicionam automaticamente para se alinharem ao objeto que está sendo pintado; por padrão, eles começam a pintar na origem (0, 0) do destino de renderização.
Você pode "mover" o gradiente definido por um ID2D1LinearGradientBrush para uma área de destino definindo seu ponto inicial e ponto de extremidade. Da mesma forma, você pode mover o gradiente definido por um ID2D1RadialGradientBrush alterando seu centro e radii.
Para alinhar o conteúdo de um ID2D1BitmapBrush à área que está sendo pintada, você pode usar o método SetTransform para traduzir o bitmap para o local desejado. Essa transformação afeta apenas o pincel; ele não afeta nenhum outro conteúdo desenhado pelo destino de renderização.
As ilustrações a seguir mostram o efeito do uso de um ID2D1BitmapBrush para preencher um retângulo localizado em (100, 100). A ilustração à esquerda mostra o resultado do preenchimento do retângulo sem transformar o pincel: o bitmap é desenhado na origem do destino de renderização. Como resultado, apenas uma parte do bitmap aparece no retângulo.
A ilustração à direita mostra o resultado da transformação do ID2D1BitmapBrush para que seu conteúdo seja deslocado 50 pixels para a direita e 50 pixels para baixo. O bitmap agora preenche o retângulo.
Exemplos
Os exemplos de código a seguir mostram como criar a transformação mostrada no diagrama certo na ilustração anterior. Primeiro aplique uma tradução ao ID2D1BitmapBrush, movendo o pincel 50 pixels para a direita ao longo do eixo x e 50 pixels para baixo ao longo do eixo y. Em seguida, use o ID2D1BitmapBrush para preencher o retângulo que tem o canto superior esquerdo em (100, 100) e o canto inferior direito em (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
| Requirement | Value |
|---|---|
| Cabeçalho |
|
| Library |
|
| DLL |
|