nntp2http.com
Posting
Suche
Optionen
Hilfe & Kontakt

Re: gdlibrary mantenere anti-aliasing

Von: GiO (gio@nospam.co.la.uk) [Profil]
Datum: 26.01.2007 16:00
Message-ID: <45ba178d$0$7746$5fc30a8@news.tiscali.it>
Newsgroup: it.comp.giochi.sviluppo
Hello yappo,
On 26/01/2007 13.30 you wrote:

> Il mio è il caso complesso
Nel caso più complesso non c'è soluzione automatica.


> Mi faresti un bel piacere...
> Il mio caso è sfondo uniforme con testi sopra con antialiasing

Testi monocromatici?
Il testo è il tipico caso semplice, per fortuna.

Dato T il colore "pieno" del testo e B il colore dello sfondo, non devi
far altro che creare un immagine che abbia in RGB il colore T o B (non
vie di mezzo) e porti la trasparenza (quanto è intermedio il colore)
nell'alpha.

Percorri i pixel dell'immagine e ne costruisci un'altra di dimensioni
uguali.
Per ogni pixel dell'immagine sorgente diverso da B metti nell'immagine
destinazione un pixel di colore T (pieno).
Ora scrivi il canale alpha dell'immagine destinazione.
Nel corrispondente pixel del canale alpha, nell'immagine destinazione,
metti un valore corrispondente alla intensità del pixel di colore.
Cioè, nei pixel "intermedi" (quelli del bordo) tu avrai dei valori
intermedi tra B e T. Quanto intermedi? 100% corrisponde a T, 0%
corrisponde a B e così ti trovi il canale alpha fatto.

Ti ritrovi con una nuova immagine che sui canali RGB ha il testo
"grasso" e squadrettato, ma, grazie all'alpha, si sovrappone
perfettamente (con anti-alias) su qualsiasi altro sfondo.

Ti dovrebbe essere chiaro, a questo punto (non ho tempo per essere più
dettagliato).

--

C++U,

GiO

[ Auf dieses Posting antworten ]