На главную Наши проекты:
Журнал   ·   Discuz!ML   ·   Wiki   ·   DRKB   ·   Помощь проекту
ПРАВИЛА FAQ Помощь Участники Календарь Избранное RSS
msm.ru
! правила раздела Алгоритмы
1. Помните, что название темы должно хоть как-то отражать ее содержимое (не создавайте темы с заголовком ПОМОГИТЕ, HELP и т.д.). Злоупотребление заглавными буквами в заголовках тем ЗАПРЕЩЕНО.
2. При создании темы постарайтесь, как можно более точно описать проблему, а не ограничиваться общими понятиями и определениями.
3. Приводимые фрагменты исходного кода старайтесь выделять тегами code.../code
4. Помните, чем подробнее Вы опишете свою проблему, тем быстрее получите вразумительный совет
5. Запрещено поднимать неактуальные темы (ПРИМЕР: запрещено отвечать на вопрос из серии "срочно надо", заданный в 2003 году)
6. И не забывайте о кнопочках TRANSLIT и РУССКАЯ КЛАВИАТУРА, если не можете писать в русской раскладке :)
Модераторы: Akina, shadeofgray
  
> Яркость цвета
    Подскажите плз какой-нть алгоритм понимания, яркий цвет или нет.
    Возможные примеры:
    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)
    Мне нужно на лейбле какого-то цвета выводить надпись белым или черным в зависимости от того, какого цвета лейлб
        Попробуй так:

        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 );
        }
        Сообщение отредактировано: WinterMute -
        0 пользователей читают эту тему (0 гостей и 0 скрытых пользователей)
        0 пользователей:


        Рейтинг@Mail.ru
        [ Script execution time: 0,0450 ]   [ 15 queries used ]   [ Generated: 16.06.24, 17:57 GMT ]