Usando a transformação do mundo
A transformação do mundo é uma propriedade da Graphics classe. Os números que especifica a transformação do mundo são armazenados em um Matrix o objeto, que representa uma matriz de 3 × 3. O Matrix e Graphics classes ter vários métodos para definir os números na matriz de transformação do mundo.
Diferentes tipos de transformações
No exemplo a seguir, o código primeiro cria um retângulo 50 de 50 × e localiza-lo na origem (0, 0). A origem está no canto superior esquerdo da área do 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 que é maior na direção x e menor na direção y 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);