Visão geral de elementos gráficos vetoriais
O Windows GDI+ desenha linhas, retângulos e outras figuras em um sistema de coordenadas. Você pode escolher entre uma variedade de sistemas de coordenadas, mas o sistema de coordenadas padrão tem a origem no canto superior esquerdo com o eixo x apontando para a direita e o eixo y apontando para baixo. A unidade de medida no sistema de coordenadas padrão é o pixel.
Um monitor de computador cria sua exibição em uma matriz retangular de pontos chamados de elementos de imagem ou pixels. O número de pixels que aparecem na tela varia de um monitor para o próximo, e o número de pixels que aparecem em um monitor individual geralmente pode ser configurado até certo ponto pelo usuário.
Ao usar GDI+ para desenhar uma linha, retângulo ou curva, você fornece determinadas informações importantes sobre o item a ser desenhado. Por exemplo, você pode especificar uma linha fornecendo dois pontos e especificar um retângulo fornecendo um ponto, uma altura e uma largura. O GDI+ funciona em conjunto com o software de driver de exibição para determinar quais pixels devem ser ativados para mostrar a linha, o retângulo ou a curva. A ilustração a seguir mostra os pixels que são ativados para exibir uma linha do ponto (4, 2) ao ponto (12, 8).
Ao longo do tempo, determinados blocos de construção básicos mostraram ser mais úteis para criar imagens bidimensionais. Esses blocos de construção, todos compatíveis com o GDI+, são dados na seguinte lista:
- Linhas
- Retângulos
- Elipses
- Arcos
- Polígonos
- Splines cardinais
- Splines de Bézier
A classe Graphics em GDI+ fornece os seguintes métodos para desenhar os itens na lista anterior: DrawLine, DrawRectangle, DrawEllipse, DrawPolygon, DrawArc, DrawCurve (para splines cardinal) e DrawBezier. Cada um desses métodos está sobrecarregado; ou seja, cada método vem em várias variações com listas de parâmetros diferentes. Por exemplo, uma variação do método DrawLine recebe o endereço de um objeto Pen e quatro inteiros, enquanto outra variação do método DrawLine recebe o endereço de um objeto Pen e duas referências de objeto Point .
Os métodos para desenhar linhas, retângulos e splines de Bézier têm métodos complementares plurais que desenham vários itens em uma única chamada: DrawLines, DrawRectangles e DrawBeziers. Além disso, o método DrawCurve tem um método complementar, DrawClosedCurve, que fecha uma curva conectando o ponto final da curva ao ponto inicial.
Todos os métodos de desenho da classe Graphics funcionam em conjunto com um objeto Pen . Portanto, para desenhar qualquer coisa, você deve criar pelo menos dois objetos: um objeto Graphics e um objeto Pen . O objeto Pen armazena atributos do item a ser desenhado, como largura e cor da linha. O endereço do objeto Pen é passado como um dos argumentos para o método de desenho. Por exemplo, uma variação do método DrawRectangle recebe o endereço de um objeto Pen e quatro inteiros, conforme mostrado no código a seguir, que desenha um retângulo com uma largura de 100, uma altura de 50 e um canto superior esquerdo de (20, 10).
myGraphics.DrawRectangle(&myPen, 20, 10, 100, 50);