Método PathGradientBrush::SetTransform (gdipluspath.h)
O método PathGradientBrush::SetTransform define a matriz de transformação desse pincel de gradiente de caminho.
Sintaxe
Status SetTransform(
[in] const Matrix *matrix
);
Parâmetros
[in] matrix
Tipo: const Matrix*
Ponteiro para um objeto Matrix que especifica a matriz de transformação.
Retornar valor
Tipo: Status
Se o método for bem-sucedido, ele retornará Ok, que é um elemento da enumeração Status .
Se o método falhar, ele retornará um dos outros elementos da enumeração Status .
Comentários
Um objeto PathGradientBrush tem um objeto GraphicsPath que serve como o caminho de limite para o pincel. Quando você pinta com um pincel de gradiente de caminho, somente a área dentro do caminho de limite é preenchida. Se a matriz de transformação do pincel estiver definida para representar qualquer transformação diferente da identidade, o caminho de limite será transformado de acordo com essa matriz durante a renderização e somente a área dentro do caminho transformado será preenchida.
A transformação se aplica somente durante a renderização. O caminho de limite armazenado pelo objeto PathGradientBrush não é alterado pelo método PathGradientBrush::SetTransform .
Exemplos
O exemplo a seguir cria um objeto PathGradientBrush com base em um caminho triangular. O método Graphics::FillRectangle usa o pincel de gradiente de caminho para pintar um retângulo que contém o caminho triangular. Em seguida, o código cria um objeto Matrix que representa uma transformação composta (girar, depois traduzir) e passa o endereço desse objeto Matrix para o método PathGradientBrush::SetTransform do objeto PathGradientBrush . O código chama FillRectangle uma segunda vez para pintar o mesmo retângulo usando o pincel de gradiente de caminho transformado.
VOID Example_SetTransform(HDC hdc)
{
Graphics graphics(hdc);
Point pts[] = {
Point(0, 0),
Point(100, 0),
Point(100, 100)};
Color cols[] = {
Color(255, 255, 0, 0), // red
Color(255, 0, 255, 0), // green
Color(255, 0, 0, 0)}; // black
INT count = 3;
PathGradientBrush pthGrBrush(pts, 3);
pthGrBrush.SetSurroundColors(cols, &count);
// Fill an area with the path gradient brush (no transformation).
graphics.FillRectangle(&pthGrBrush, 0, 0, 200, 200);
// Set the transformation for the brush (rotate, then translate).
Matrix matrix(0.0f, 1.0f, -1.0f, 0.0f, 150.0f, 60.0f);
pthGrBrush.SetTransform(&matrix);
// Fill the same area with the transformed path gradient brush.
graphics.FillRectangle(&pthGrBrush, 0, 0, 200, 200);
}
Requisitos
Requisito | Valor |
---|---|
Cliente mínimo com suporte | Windows XP, Windows 2000 Professional [somente aplicativos da área de trabalho] |
Servidor mínimo com suporte | Windows 2000 Server [somente aplicativos da área de trabalho] |
Plataforma de Destino | Windows |
Cabeçalho | gdipluspath.h (inclua Gdiplus.h) |
Biblioteca | Gdiplus.lib |
DLL | Gdiplus.dll |
Confira também
Criando um Gradiente de Caminho
Preenchendo uma forma com um gradiente de cor
PathGradientBrush::GetTransform
PathGradientBrush::MultiplyTransform
PathGradientBrush::ResetTransform
PathGradientBrush::RotateTransform