Cuneyt Ozdas Forum
Cuneyt Ozdas Forum
Home | Profile | Register | Active Topics | Members | Search | FAQ
 All Forums
 Türkçe - Genel
 Diger
 GDI: Okunabilirligin arttirilmasi için renk hesabi

Note: You must be registered in order to post a reply.
To register, click here. Registration is FREE!

Screensize:
UserName:
Password:
Format Mode:
Format: BoldItalicizedUnderlineStrikethrough Align LeftCenteredAlign Right Horizontal Rule Insert HyperlinkInsert EmailInsert Image Insert CodeInsert QuoteInsert List
   
Message:

Smilies
Angry [:(!] Approve [^] Big Smile [:D] Black Eye [B)]
Blush [:I] Clown [:o)] Cool [8D] Dead [xx(]
Disapprove [V] Eight Ball [8] Evil [}:)] Kisses [:X]
Question [?] Sad [:(] Shock [:O] Shy [8)]
Sleepy [|)] Smile [:)] Tongue [:P] Wink [;)]

   -  HTML is OFF | Forum Code is ON
 
Check here to subscribe to this topic.
   

T O P I C    R E V I E W
alipolatolu Posted - 08/04/2004 : 13:48:19
Selamlar;

Ben windows altinda GDI kullanarak bir program gelistiriyorum. Programda form üzerine çesitli resimler ve yazilar basip kullanicinin bilgilendirilmesini sagliyorum. Programin özellikleri arasinda formun arkaplan renginin degistirilmesi de var. Fakat renk degistiginde de form üzerindeki yazilarin okunabilirliginin daha iyi olmasi için text rengini form arka plan renginin tersi (invert) olarak belirliyorum. Buraya kadar bir problemim yok, Fakat kullanici Gri ( RGB(128,128,128) ) veya bu renge yakin tonlar seçtiginde invert islemi ayni renk bilgisini döndürdügünden yazilar görünmez hale geliyor. Bu konuda bir algoritma bilen var mi? yardimci olursaniz sevinirim.

Sevgiler.
4   L A T E S T    R E P L I E S    (Newest First)
Admin Posted - 09/04/2004 : 10:01:18
Rica ederim,
Literatürde bu probleme güzel bir çözüm var mi bilmiyorum, denk gelirsem paylasirim. Uydurdugum yöntemin ise yaramasina sevindim; ama yine de tüm renkleri test et derim, bazi renk kombinasyonlari her kanalda yüksek kontrasta sahip olmasina ragmen görsel olarak düsük kontrasta sahip olabilir. Ayrica renk körlerinin de renkleri degisik parlaklikta gördügünü unutmamak lazim, UI tasarlarken dikkat edilmesi gereken konulardan birisinin de hiç degilse hafif özürlü insanlara zorluk çikartmamasi oldugu söylenir.

Aklima ya da karsima daha iyi bir çözüm gelirse haber ederim.

Kolay gelsin.
alipolatolu Posted - 08/04/2004 : 20:39:47
Tekrar selamlar cüney bey,

Ben ikinci önerdiginiz renk kanallarini 128 birim ileri tasima teknigini uyguladim, çok güzel ve tam istedigim gibi bir sonuç elde ettim. Kontrast çok iyi, devamli yüksek kaliyor ve yazilar rahatlikla okunabiliyor.

Çok tesekkür ederim, sevgiler...

Polat
Admin Posted - 08/04/2004 : 18:41:35
haa bu da simdi aklima geldi:

eger siyah beyazdan hosnut degilsen, renkli olsun istiyorsan tüm kanallari 128 birim uzaga tasimak da bir çözüm olabilir. Burada kanal kontrastlari hep %50 olacaktir ama luminans kontrasti ayni kalabilir. Yani siyah beyaz en az %50 konstrast saglarken bu teknik en fazla %50 kontrast verecektir.


  int fr = (br+128)&0xFF;
  int fg = (bg+128)&0xFF;
  int fb = (bb+128)&0xFF;
Admin Posted - 08/04/2004 : 18:28:28
Polat Selam,
128,128,128 gri RGB küpünün tam ortasinda oldugu için simetri isleminde (invert) etkilenmeden kaliyor. Benzer sekilde en sik kullanilan binary XOR islemi de 128'i (1000 0000) 127'ye (0111 1111) map edecegi için sorunlu.

Bence renk uyumunu falan isin içine sokmamak için rengin luminansina bakip ona göre yaziyi siyah ya da beyaz yapmak en iyisi. Yani:


fr=fg=fb=(br+bg+bb<3*128) ? 255 : 0;

fx : foreground rengi
bx : background rengi


Ama istersen r, g ve b'den en küçük olani 255, en büyük olani da 0 yapacak, digerini de ters çevirecek bir mantik da kullanabilirsin. Yine de gri tam ortada oldugu için bir sekilde (en azindan siyah ya da beyaz) olasi renklerden birisine rasgele karar vermen lazim.

Cuneyt Ozdas Forum © 2000 - 2003 Cuneyt Ozdas Go To Top Of Page
This page was generated in 0.05 seconds. Snitz Forums 2000