[ sojic @ 24.08.2004. 00:53 ] @
Kako da računam boje? Recimo imam plavu pozadinu i želim da stavim beli sloj opacity=60. Znači, ne treba mi sa layere, nego da dobijem matematički novu boju. Nadam se da je dovoljno jasno. |
[ sojic @ 24.08.2004. 00:53 ] @
[ Reljam @ 24.08.2004. 01:03 ] @
Vrlo je jednostavno:
RGB za belu boju: 1.0, 1.0, 1.0 RGB za plavu boju: 0.0, 0.0, 1.0, Linearna interpolacija izmedju ta dva sa 60%: RGB: 0.6, 0.6, 1.0 Naravno, ako zelis sve u rasponu od 0-255, onda je to: 153, 153, 255 [ sojic @ 24.08.2004. 01:40 ] @
Šta je i kako se računa interpolacija?
[ sojic @ 24.08.2004. 01:48 ] @
I šta se dešava u slučaju da plava nije čista plava, nego malo tamnija (000099)? Dali pri dodavanje bele plava ide do kraja (0000FF) pa produži na RG?
[ Reljam @ 24.08.2004. 03:02 ] @
Linearna interpolacija:
lerp( a, b, faktor ) = (b - a) * faktor + a; a - pocetna vrednost (plava) b - zavrsna vrednost (bela) faktor - faktor izmedju 0 i 1. 60% = 0.6 Ono sto ti zoves cistom plavom je 0xFF. Normalizovano to je 1.0. Tamnija plava (0x99) bi onda bila 0x99 / 255 = 0.6. Kod dodavanja treba da pogledas svaki kanal (boju) odvojeno, i da dozvolis da vrednosti predju 1.0. Slobodno se drzi decimalnih brojeva i sve ce da radi kako treba. Ajde probaj da izracunas sta se dobija sa: start (bela): 0xFFFFFF end (tamno plava): 0x000099 Copyright (C) 2001-2025 by www.elitesecurity.org. All rights reserved.
|