Compartilhar via


Novos recursos

As seções a seguir descrevem vários dos novos recursos no Windows GDI+.

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.

ilustração de uma forma preenchida por um gradiente horizontal e uma arquivada por um 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.

ilustração de uma forma semelhante a um sinal infinito, preenchido de azul onde as metades se encontram para aqua nas bordas

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.

ilustração mostrando os mesmos cinco pontos duas vezes: uma vez conectado por um spline cardinal, o outro por segmentos de linha

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).

ilustração mostrando o contorno de uma forma, em seguida, a mesma estrutura de tópicos, mas mais estreita e girada

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.

ilustração mostrando uma forma centralizada em eixos de coordenadas, em seguida, a mesma forma, mas maior, girada e traduzida para a direita

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.

ilustração mostrando quatro reticências de transparência variável sobrepondo um retângulo semitransparente

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