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
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 ]
