Condividi tramite


Nuove funzioni e caratteristiche

Le sezioni seguenti descrivono diverse delle nuove funzionalità in Windows GDI+.

Pennelli sfumature

GDI+ si espande in Windows Graphics Device Interface (GDI) fornendo pennelli di sfumatura lineare e sfumatura di percorso per riempire forme, percorsi e aree. I pennelli sfumatura possono essere usati anche per disegnare linee, curve e percorsi. Quando si riempie una forma con un pennello a sfumatura lineare, il colore cambia gradualmente durante lo spostamento tra la forma. Si supponga, ad esempio, di creare un pennello sfumatura orizzontale specificando blu al bordo sinistro di una forma e verde al bordo destro. Quando si riempie tale forma con il pennello sfumatura orizzontale, verrà gradualmente modificato da blu a verde mentre si passa dal bordo sinistro al bordo destro. Analogamente, una forma riempita con un pennello sfumatura verticale cambierà colore durante lo spostamento dall'alto verso il basso. La figura seguente mostra un puntini di sospensione riempito con un pennello sfumatura orizzontale e un'area riempita con un pennello sfumatura diagonale.

illustrazione di una forma riempita da una sfumatura orizzontale e un file da una sfumatura diagonale

Quando si riempie una forma con un pennello sfumatura di percorso, è disponibile un'ampia gamma di opzioni per specificare il modo in cui i colori cambiano quando si passa da una parte della forma a un'altra. Un'opzione consiste nell'avere un colore centrale e un colore di limite in modo che i pixel cambino gradualmente da un colore all'altro mentre si passa dalla parte centrale della forma verso i bordi esterni. La figura seguente mostra un percorso (creato da una coppia di spline di Bézier) riempito con un pennello sfumatura percorso.

illustrazione di una forma simile a un segno infinito, riempito da blu dove le metà si incontrano ad acqua ai bordi

Spline di tipo Cardinal

GDI+ supporta le spline cardinali, che non sono supportate in GDI. Una spline cardinal è una sequenza di singole curve unite per formare una curva più grande. La spline viene specificata da una matrice di punti e passa attraverso ogni punto di tale matrice. Una spline cardinal passa in modo uniforme (senza angoli netti) attraverso ogni punto della matrice e quindi è più raffinato di un percorso creato connettendo le linee dritte. La figura seguente mostra due percorsi, uno creato connettendo le linee dritte e uno creato come spline cardinali.

figura che mostra gli stessi cinque punti due volte: una volta connessi da una spline cardinale, l'altro per segmenti di riga

Oggetti percorso indipendente

In GDI un percorso appartiene a un contesto del dispositivo e il percorso viene distrutto come viene disegnato. Con GDI+, il disegno viene eseguito da un oggetto Graphics e è possibile creare e gestire diversi oggetti GraphicsPath separati dall'oggetto Graphics . Un oggetto GraphicsPath non viene distrutto dall'azione di disegno, quindi è possibile usare lo stesso oggetto GraphicsPath per disegnare un percorso più volte.

Trasformazioni e oggetto Matrix

GDI+ fornisce l'oggetto Matrix , uno strumento potente che rende le trasformazioni (rotazioni, traduzioni e così via) facili e flessibili. Un oggetto matrice funziona insieme agli oggetti trasformati. Ad esempio, un oggetto GraphicsPath include un metodo GraphicsPath::Transform che riceve l'indirizzo di un oggetto Matrix come argomento. Una singola matrice 3×3 può archiviare una trasformazione o una sequenza di trasformazioni. La figura seguente mostra un percorso prima e dopo una sequenza di due trasformazioni (prima scala, quindi ruotare).

figura che mostra la struttura di una forma, quindi lo stesso contorno ma più stretto e ruotato

Aree scalabili

GDI+ si espande notevolmente su GDI con il supporto per le aree geografiche. In GDI le aree vengono archiviate nelle coordinate del dispositivo e l'unica trasformazione che può essere applicata a un'area è una traduzione. GDI+ archivia le aree nelle coordinate mondiali e consente a un'area di eseguire qualsiasi trasformazione (ridimensionamento, ad esempio) che può essere archiviata in una matrice di trasformazione. La figura seguente mostra un'area prima e dopo una sequenza di tre trasformazioni: ridimensionare, ruotare e tradurre.

figura che mostra una forma centrale sugli assi di coordinata, quindi la stessa forma, ma più grande, ruotata e tradotta a destra

Fusione alfa

Si noti che nella figura precedente è possibile visualizzare l'area non modificata (riempita con rosso) attraverso l'area trasformata (riempita con un pennello di tratteggio). Ciò è reso possibile dalla fusione alfa, che è supportata da GDI+. Con la fusione alfa, è possibile specificare la trasparenza di un colore di riempimento. Un colore trasparente viene mescolato con il colore di sfondo , più trasparente si crea un colore di riempimento, più lo sfondo mostra attraverso. La figura seguente mostra quattro puntini di sospensione riempiti con lo stesso colore (rosso) a livelli di trasparenza diversi.

figura che mostra quattro puntini di sospensione di trasparenza variabile sovrapposta a un rettangolo semi-trasparente

Supporto per più formati di immagine

GDI+ fornisce le classi Image, Bitmap e Metafile , che consentono di caricare, salvare e modificare le immagini in diversi formati. Sono supportati i formati seguenti:

  • BMP
  • Graphics Interchange Format (GIF)
  • JPEG
  • Exif
  • PNG
  • TIFF
  • ICONA
  • WMF
  • EMF