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

Вниз

Графика   Найти похожие ветки 

 
Shuric ©   (2003-08-08 21:03) [0]

Предыстория: есть панель, отображающая состояние процесса (например, красная – аварийное состояние, зеленая – все нормально). Однако при масштабировании (увеличении) енто (сам вид большой плоской панели) не эстетично.
Вот такой вопросец возник: решил, использовать красивую шкурку (допустим градации красного плюс тень произвольного цвета, сам рисую), а вот как быть с зеленой. Подскажите алгоритм преобразования цветов пожалуйста.


 
Андрей Сенченко ©   (2003-08-08 21:07) [1]

Не совсем ясен вопрос. Ну например исходи из того что любой цвет на экране - это смесь трех
R(ed) 0..255
G(reen) 0..255
B(lue) 0..255
и пиши свою формулу изменения составляющих ( простейший вариант - 3 вложенных цикла )


 
Shuric ©   (2003-08-08 21:18) [2]

>Андрей Сенченко
Допустим у меня базовый цвет (светлая шкурка) 240,240,233 , далее его производные. Мне нужно получит градации красного. Как корректно их варьировать (просто на эксперименты могу положить кучу времени; не лень, а рационализм и не понимание).


 
DHDD   (2003-08-09 06:16) [3]

understand


 
Shuric ©   (2003-08-09 23:49) [4]

>DHDD
Не то время и не то действие. А вот я видел всякие функции преобразования к гр серового (какого - то формата телевидиния). Блин, столпы данного сайта, втолкуйкте, либо я туп как 180 градусов, либо все не так просто (и отстану)


 
Anatoly Podgoretsky ©   (2003-08-09 23:59) [5]

Преобразование в серое делается по формуле
I = 0.299R+0.587G+0.114B


 
Shuric ©   (2003-08-10 00:08) [6]

Ага, не только я пиво пью вечерои... Я испрашивал - если некий универсализм преобразования (серый мене не интересует в данном контексте вопроса). И точно отстану... :)


 
Anatoly Podgoretsky ©   (2003-08-10 00:10) [7]

Если не интересует, то зачем спрашиваешь?


 
Shuric ©   (2003-08-10 00:17) [8]

Прошу прощения за свой сарказм, но из Вашего сужденния я вынес, что, допустим для серого есть определенные коэффициенты пересчета. Следуя форуму, могу теперь уточнить - вопрос, как они вычисляются для любого случая (серобормалиновый в крапинку).


 
TButton ©   (2003-08-10 01:24) [9]

я не дурак. что такое градации красного и производные?


 
Shuric ©   (2003-08-10 23:07) [10]

>TButton
А это - выбери в Paint>Палитра>Изменить палитру>Добавить цвет, выбери 255,0,0 и ползунком подвигай (в данном контексте - производные и градации одно и тоже). В данном случае получается сопоставление (замена) 240,240,233 на 255,0,0. Как грамотно заменить другие цвета (ну не пропорцией же).


 
TButton ©   (2003-08-10 23:21) [11]

по двигал... те чо градиент нужен? от цвета А к цвету Б? слушай сюда.

a,b,c:TColor; //цвета собсна
n:integer; //количество шагов градиента(длина)
sr,sg,sb,r,g,b:integer;
begin
sr:=GetRValue(a)-GetRValue(b);
sg:=GetGValue(a)-GetGValue(b);
sb:=GetBValue(a)-GetBValue(b);
for i:=0 to n do
begin
r:=Round(GetRValue(a)+sr/n*i);
g:=Round(GetGValue(a)+sg/n*i);
b:=Round(GetBValue(a)+sb/n*i);
c:=RGB(r,g,b);
// тут рисуешь етим цветоим (с) че те надо
...
end;
end;

вот...


 
TButton ©   (2003-08-10 23:22) [12]

ать... где-то И забыл закрыть... :) ссссори


 
Shuric ©   (2003-08-10 23:27) [13]

На взгляд мудрено (енто гуд), буду пробовать, спасибо.



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

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

Наверх




Память: 0.49 MB
Время: 0.036 c
3-81553
Berezne
2003-07-30 18:03
2003.08.25
Обновление БД


14-81885
Dimka Maslov
2003-08-08 10:11
2003.08.25
Windows


3-81545
Алексей Петухов
2003-07-31 05:51
2003.08.25
TQuery и Индексы в dBase


3-81560
alleb
2003-07-30 16:57
2003.08.25
TBytesField


1-81624
Nucl
2003-08-12 23:27
2003.08.25
ComboBox - запретить ввод.