Partilhar via


Usando transformação global

transformação global é uma propriedade do Graphics classe. Os números que especificar transformação global são armazenados em um Matrix objeto que representa uma matriz 3 × 3. The Matrix e Graphics classes têm vários métodos para definir os números da matriz de transformação global.

Diferentes tipos de transformações

No exemplo a seguir, o código primeiro cria um retângulo 50 x 50 e ele localiza na origem (0, 0).A origem fica no canto superior esquerdo da área de cliente.

Dim rect As New Rectangle(0, 0, 50, 50)
Dim pen As New Pen(Color.FromArgb(128, 200, 0, 200), 2)
e.Graphics.DrawRectangle(pen, rect)

Rectangle rect = new Rectangle(0, 0, 50, 50);
Pen pen = new Pen(Color.FromArgb(128, 200, 0, 200), 2);
e.Graphics.DrawRectangle(pen, rect);

O código a seguir aplica uma transformação de dimensionamento que expande o retângulo em um fator de 1,75 na direção x e reduz o retângulo em um fator de 0,5 na direção y:

e.Graphics.ScaleTransform(1.75F, 0.5F)
e.Graphics.DrawRectangle(pen, rect)

e.Graphics.ScaleTransform(1.75f, 0.5f);
e.Graphics.DrawRectangle(pen, rect); 

O resultado é um retângulo é maior na direção x e menor na direção y que o original.

Para girar o retângulo, em vez de dimensioná-lo, use o seguinte código:

e.Graphics.ResetTransform()
e.Graphics.RotateTransform(28) ' 28 degrees
e.Graphics.DrawRectangle(pen, rect)

e.Graphics.ResetTransform();
e.Graphics.RotateTransform(28); // 28 degrees
e.Graphics.DrawRectangle(pen, rect);

Para traduzir o retângulo, use o seguinte código:

e.Graphics.ResetTransform()
e.Graphics.TranslateTransform(150, 150)
e.Graphics.DrawRectangle(pen, rect)

e.Graphics.ResetTransform();
e.Graphics.TranslateTransform(150, 150);
e.Graphics.DrawRectangle(pen, rect);

Consulte também

Referência

Matrix

Outros recursos

Sistemas de coordenada e transformações

Usando transformações no gerenciado GDI +