Novos recursos
As seções a seguir descrevem vários dos novos recursos no Windows GDI+.
- Pincéis de Gradiente
- Splines cardeais
- Objetos de caminho independentes
- Transformações e o objeto Matrix
- Regiões escalonáveis
- Mistura 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 da borda esquerda para a 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.
Ao preencher 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 no 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 à medida que é desenhado. Com GDI+, o desenho é executado por um objeto Graphics e você pode criar e manter vários objetos GraphicsPath separados do objeto Graphics . 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 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 girar).
Regiões escalonáveis
O GDI+ se expande muito no GDI com seu suporte para regiões. Na GDI, as regiões são armazenadas nas 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.
Mistura alfa
Observe que, na figura anterior, você pode ver a região nãotransformada (preenchida com vermelho) por meio da região transformada (preenchida com um pincel de escotilha). Isso é possível por meio da mesclagem 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 é combinada com a cor da tela de fundo – quanto mais transparente você faz uma cor de preenchimento, mais a tela de fundo aparece. 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, Bitmap e Metafile , que permitem carregar, salvar e manipular imagens em uma variedade de formatos. Os formatos a seguir são suportados:
- BMP
- GIF
- JPEG
- Exif
- PNG
- TIFF
- ICON
- WINDOWS MANAGEMENT FRAMEWORK
- EMF