Domanda

Ho visto l'antialiasing su Windows usando GDI +, Java e anche quello fornito da Photoshop e Gimp. Esistono altre librerie là fuori che forniscono funzionalità di antialias senza dipendere dal supporto del sistema operativo host?

È stato utile?

Soluzione

Antigrain Geometry fornisce grafica anti-aliasing nel software.

Altri suggerimenti

Come ha sottolineato Simon, il termine anti-aliasing viene abusato / abusato abbastanza regolarmente, quindi è sempre utile sapere esattamente cosa stai cercando di fare.

Dato che menzioni GDI, suppongo che stai parlando di mantenere dei bordi nitidi quando li ridimensioni, quindi qualcosa come un personaggio in un font sembra pulito e non pixelato quando lo ridimensioni 2x o 3x è la sua dimensione originale. Per questo genere di cose ho usato una tecnica in passato chiamata ingrandimento alfa testato - puoi leggere il white paper qui:

http://www.valvesoftware.com/publications/2007/SIGGRAPHH2007_AlphaTestedMagnification.pdf

Quando l'ho implementato, ho usato più di un piano in modo da ottenere bordi migliori su tutti i tipi di oggetti, ma lo copre brevemente verso la fine. Di tutti gli approcci (che ho usato) per mantenere la qualità durante il ridimensionamento delle immagini vettoriali, questa era la qualità più semplice e più alta. Ciò ha anche il vantaggio di essere facilmente implementato nell'hardware. Dal punto di vista dell'API esistente, la soluzione migliore è utilizzare OpenGL o Direct3D - detto ciò, richiede davvero solo filtri bilineati e mappatura delle trame per realizzare ciò che fa, in modo da poter ottenere il proprio (lo ho fatto in passato). Se hai sempre a che fare con i rettangoli e devi solo fare il ridimensionamento è piuttosto banale e l'aggiunta di rotazione non aggiunge molta complessità. Se lo fai tu stesso, assicurati di prestare particolare attenzione al posizionamento dei subpixel (come risolvere le posizioni dei pixel che non rientrano in un pixel intero, poiché questo è fondamentale per la qualità e talvolta trascurato.

Spero che ti aiuti!

Esistono (spesso erroneamente chiamati, ma è un cavallo morto) molti approcci anti-alias che possono essere usati. A seconda di ciò che sai del segnale originale e dell'uso previsto, è molto probabile che cose diverse ti forniscano il risultato desiderato.

" Supporto dal sistema operativo host " è probabilmente più sensato se l'output è attraverso le funzionalità di visualizzazione del sistema operativo, poiché hanno la maggior parte delle informazioni su ciò che viene fatto all'immagine.

Suppongo che sia un lungo modo di chiedere cosa stai effettivamente cercando di fare? Molte librerie grafiche forniranno una qualche forma di antialiasing, anche se saranno appropriate dipende molto da ciò che stai cercando di ottenere.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top