Método PathGradientBrush::TranslateTransform (gdipluspath.h)
O método PathGradientBrush::TranslateTransform atualiza a matriz de transformação atual desse pincel com o produto de si mesmo e uma matriz de tradução.
Sintaxe
Status TranslateTransform(
[in] REAL dx,
[in] REAL dy,
[in] MatrixOrder order
);
Parâmetros
[in] dx
Tipo: REAL
Número real que especifica o componente horizontal da tradução.
[in] dy
Tipo: REAL
Número real que especifica o componente vertical da tradução.
[in] order
Tipo: MatrixOrder
Opcional. Elemento da enumeração MatrixOrder que especifica a ordem da multiplicação. MatrixOrderPrepend especifica que a matriz de tradução está à esquerda e MatrixOrderAppend especifica que a matriz de tradução está à direita. O valor padrão é MatrixOrderPrepend.
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
Uma única matriz de três ×3 pode armazenar qualquer sequência de transformações de afins. Se você tiver várias matrizes de três ×3, cada uma delas representa uma transformação de afinação, o produto dessas matrizes é uma única matriz de três ×3 que representa toda a sequência de transformações. A transformação representada por esse produto é chamada de transformação composta. Por exemplo, suponha que a matriz S represente um dimensionamento e a matriz T represente uma tradução. Se a matriz M for o ST do produto, a matriz M representará uma transformação composta: primeiro dimensione e, em seguida, converta.
Exemplos
O exemplo a seguir cria um objeto PathGradientBrush baseado em um caminho triangular. As chamadas para os métodos PathGradientBrush::ScaleTransform e PathGradientBrush::TranslateTransform do objeto PathGradientBrush definem os elementos da matriz de transformação do pincel para que ele represente uma transformação composta: primeiro dimensione e converta. O código usa o pincel de gradiente de caminho duas vezes para pintar um retângulo: uma vez antes da transformação ser definida e uma vez após a transformação ser definida.
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);
}
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
Representação matricial de transformações
PathGradientBrush::GetTransform
PathGradientBrush::MultiplyTransform
PathGradientBrush::ResetTransform
PathGradientBrush::RotateTransform
PathGradientBrush::ScaleTransform