Novos recursos
As seções a seguir descrevem vários dos novos recursos no Windows GDI+.
- pincéis de gradiente
- Cardinal Splines
- objetos de caminho independente
- transformações e o objeto Matrix
- regiões escalonáveis
- de Combinação Alfa
- suporte para vários formatos de imagem
Pincéis de gradiente
O GDI+ expande a GDI (Interface do Dispositivo Gráfico do Windows) fornecendo pincéis de gradiente linear e de gradiente de caminho para preencher formas, caminhos e regiões. Pincéis de gradiente também podem ser usados para desenhar linhas, curvas e caminhos. Quando você preenche uma forma com um pincel de gradiente linear, a cor muda gradualmente à medida que você se move pela forma. Por exemplo, suponha que você crie um pincel de gradiente horizontal especificando azul na borda esquerda de uma forma e verde na borda direita. Quando você preenche essa forma com o pincel de gradiente horizontal, ela muda gradualmente de azul para verde à medida que você se move de sua borda esquerda para sua borda direita. Da mesma forma, uma forma preenchida com um pincel de gradiente vertical mudará de cor à medida que você se move de cima para baixo. A ilustração a seguir mostra uma elipse preenchida com um pincel de gradiente horizontal e uma região preenchida com um pincel de gradiente diagonal.
Quando você preenche uma forma com um pincel de gradiente de caminho, você tem uma variedade de opções para especificar como as cores mudam à medida que você passa de uma parte da forma para outra. Uma opção é ter uma cor central e uma cor de limite para que os pixels mudem gradualmente de uma cor para outra à medida que você se move do meio da forma para as bordas externas. A ilustração a seguir mostra um caminho (criado a partir de um par de splines Bézier) preenchido com um pincel de gradiente de caminho.
Splines cardeais
O GDI+ dá suporte a splines cardeais, que não têm suporte na GDI. Um spline cardinal é uma sequência de curvas individuais unidas para formar uma curva maior. O spline é especificado por uma matriz de pontos e passa por cada ponto nessa matriz. Um spline cardinal passa suavemente (sem cantos afiados) por cada ponto na matriz e, portanto, é mais refinado do que um caminho criado conectando linhas retas. A ilustração a seguir mostra dois caminhos, um criado conectando linhas retas e outro criado como um spline cardinal.
Objetos de caminho independentes
No GDI, um caminho pertence a um contexto de dispositivo e o caminho é destruído conforme ele é desenhado. Com o GDI+, o desenho é executado por um objeto Graphics e você pode criar e manter vários objetosGraphicsPath separados do objeto gráficos. Um objeto GraphicsPath não é destruído pela ação de desenho, portanto, você pode usar o mesmo objeto GraphicsPath para desenhar um caminho várias vezes.
Transformações e o objeto Matrix
O GDI+ fornece o objeto Matrix, uma ferramenta poderosa que torna as transformações (rotações, traduções e assim por diante) fáceis e flexíveis. Um objeto de matriz funciona em conjunto com os objetos que são transformados. Por exemplo, um objeto GraphicsPath tem um método GraphicsPath::Transform que recebe o endereço de um objeto Matrix como um argumento. Uma única matriz 3×3 pode armazenar uma transformação ou uma sequência de transformações. A ilustração a seguir mostra um caminho antes e depois de uma sequência de duas transformações (primeiro dimensionar e depois girar).
Regiões escalonáveis
O GDI+ expande-se muito em GDI com seu suporte para regiões. No GDI, as regiões são armazenadas em coordenadas do dispositivo e a única transformação que pode ser aplicada a uma região é uma tradução. O GDI+ armazena regiões em coordenadas mundiais e permite que uma região passe por qualquer transformação (dimensionamento, por exemplo) que possa ser armazenada em uma matriz de transformação. A ilustração a seguir mostra uma região antes e depois de uma sequência de três transformações: dimensionar, girar e traduzir.
à direita
Mistura alfa
Observe que, na figura anterior, você pode ver a região nãotransformada (preenchida com vermelho) pela região transformada (preenchida com um pincel de escotilha). Isso é possível com a combinação alfa, que tem suporte do GDI+. Com a combinação alfa, você pode especificar a transparência de uma cor de preenchimento. Uma cor transparente é misturada com a cor da tela de fundo – quanto mais transparente você criar uma cor de preenchimento, mais a tela de fundo será exibida. A ilustração a seguir mostra quatro reticências preenchidas com a mesma cor (vermelho) em diferentes níveis de transparência.
Suporte para vários formatos de imagem
O GDI+ fornece as classes Image, Bitmape Metafile, que permitem carregar, salvar e manipular imagens em uma variedade de formatos. Há suporte para os seguintes formatos:
- BMP
- Gif (formato de intercâmbio de elementos gráficos)
- JPEG
- Exif
- PNG
- TIFF
- ÍCONE
- WMF
- EMF