![>](style_images/1/nav_m.gif)
![]() |
Наши проекты:
Журнал · Discuz!ML · Wiki · DRKB · Помощь проекту |
|
ПРАВИЛА | FAQ | Помощь | Поиск | Участники | Календарь | Избранное | RSS |
[3.145.51.166] |
![]() |
|
Сообщ.
#1
,
|
|
|
Подскажите плз какой-нть алгоритм понимания, яркий цвет или нет.
Возможные примеры: if (R>128)or(G>128)or(B>128) then isBrightColor:=true else isBrightColor:=false; или if (R+G+B)/3>255 then isBrightColor:=true else isBrightColor:=false; Но они не подходят, т.к. синий (B=255) темнее зеленого (G=255) Как бы точно знать, яркий цвет или нет (он может быть не обязательно равен 255) Мне нужно на лейбле какого-то цвета выводить надпись белым или черным в зависимости от того, какого цвета лейлб |
Сообщ.
#2
,
|
|
|
Сообщ.
#3
,
|
|
|
Попробуй так:
COLORREF contrastColor( int R, int G, int B ) { desaturationY = ( Max(R,G.B)+Min(R,G,B) )/2; if( desaturationY > 128 )return RGB( 0,0,0 ); return RGB( 255, 255, 255 ); } |