Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2007.12.23;
Скачать: CL | DM;

Вниз

Как узнать противоположный цвет?   Найти похожие ветки 

 
d@nger   (2007-11-28 08:52) [0]

Здравствуйте! Подскажите пожалуйста, как определить проивоположный цвет исходного цвета? например у белого - черный.... мне это надо для определения цвета шрифта на цветном фоне. Может стандартная функция есть...но я ее не нашел... Спасибо!


 
MBo ©   (2007-11-28 09:07) [1]

NewCol := OldCol xor #FFFFFF;
для части цветов будет работать плохо.


 
Johnmen ©   (2007-11-28 09:14) [2]


>  например у белого - черный....

А у красного например?


 
Virgo_Style ©   (2007-11-28 09:27) [3]

> Johnmen ©   (28.11.07 09:14) [2]
> А у красного например?


Зеленый?

А у серого (127,127,127)?


 
Anatoly Podgoretsky ©   (2007-11-28 09:31) [4]


> d@nger   (28.11.07 08:52)  

Дай определение противоположного цвета.


 
vegarulez ©   (2007-11-28 09:44) [5]

Anatoly Podgoretsky ©   (28.11.07 09:31) [4]
я думаю он имеет ввиду инверт цвета...


 
guav ©   (2007-11-28 09:46) [6]

> мне это надо для определения цвета шрифта на цветном фоне.

Для этого не надо выдумывать никакой противоположный цвет, нужно искать оптимальное сочетание цвета и фона.

Это может быть сделано по таблице.
Если таблице нет и надо попроще это реализовать оптимальным будет выбор между белым и чёрным в зависимости от яркости фона.
Типа так

function GetOptimalBkColor(AColor: TColor): TColor;
var
R, G, B: Word;
begin
R := GetRValue(AColor);
G := GetGValue(AColor);
B := GetBValue(AColor);
if 0.222*R + 0.707*G + 0.071*B <= 127 then
  Result := clWhite
else
  Result := clBlack;
end;


 
Jeer ©   (2007-11-28 09:47) [7]

Может речь об этом ?
http://www.artprojekt.ru/School/Painting/016.html


 
d@nger   (2007-11-28 11:03) [8]

Мне просто нужно было чтобы текст отчетливо читался, я пожалуй воспользуюсь советом guav [6]. Всем большое спасибо за помощь!


 
Правильный_Вася   (2007-11-28 11:57) [9]


> > А у красного например?Зеленый?

а для дальтоников?


 
Anatoly Podgoretsky ©   (2007-11-28 12:00) [10]


> я думаю он имеет ввиду инверт цвета...

А думать не надо, и чуть позже автор сказал, что ему нужен просто читаемый цвет на фоне другого, а это нельзя назвать противоположным.
Ему нужен совместимый цвет.


 
Virgo_Style ©   (2007-11-28 12:43) [11]

> Правильный_Вася   (28.11.07 11:57) [9]

Партия сказала - красный, значит - красный. И никаких дальтоников...


 
Anatoly Podgoretsky ©   (2007-11-28 15:20) [12]

А если это партия анархистов или белые?


 
PASZLIB   (2007-11-28 15:45) [13]

вдогонку вопрос как сделать цвет светлее ?

пока обхожусь так

c:=clBlack;
Form3.color:=c;
....

c:=c-500;
Form3.color:=c; делает серый
цветные пока не пробывал


 
Jeer ©   (2007-11-28 15:46) [14]

Добавь белого


 
Джо ©   (2007-11-28 15:55) [15]

> [13] PASZLIB   (28.11.07 15:45)
> вдогонку вопрос как сделать цвет светлее ?
>
> пока обхожусь так
>
> c:=clBlack;
> Form3.color:=c;
> ....
>
> c:=c-500;
> Form3.color:=c; делает серый
> цветные пока не пробывал


Под мои задачи когда-то подошла такая функция:

function Lighter(Color:TColor; Percent:Byte):TColor;
var
 R,
 G,
 B:Byte;
begin
 Color:=ColorToRGB(Color);
 R:=GetRValue(Color);
 G:=GetGValue(Color);
 B:=GetBValue(Color);
 R:=R+muldiv(255-R,Percent,100);
 G:=g+muldiv(255-G,Percent,100);
 B:=b+muldiv(255-B,Percent,100);
 Result:=RGB(R,G,B);
end;

Откуда содрал — не помню.


 
PASZLIB   (2007-11-28 16:04) [16]

Спасибо амигос Джо! сам бы не додумался


 
Anatoly Podgoretsky ©   (2007-11-28 16:14) [17]

> Jeer  (28.11.2007 15:46:14)  [14]

И немного розового


 
clickmaker ©   (2007-11-28 16:17) [18]


> [17] Anatoly Podgoretsky ©   (28.11.07 16:14)

розовый цвет; доверься ему, и пятен - нет
(с)



Страницы: 1 вся ветка

Текущий архив: 2007.12.23;
Скачать: CL | DM;

Наверх




Память: 0.5 MB
Время: 0.02 c
15-1195829870
Cyrax
2007-11-23 17:57
2007.12.23
Как лучше всего организовать следующие действия


15-1196159536
All More system
2007-11-27 13:32
2007.12.23
Разработка динамического сайта


15-1195586382
Германн
2007-11-20 22:19
2007.12.23
Автоматическое обновление WinXp SP1


1-1191589958
Gulba
2007-10-05 17:12
2007.12.23
Небольшая проблема с менеджером загрузки файлов.


2-1196405007
ardent
2007-11-30 09:43
2007.12.23
table order