Главная страница
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.023 c
14-81946
rdv
2003-08-06 11:14
2003.08.25
компоненты для HASP


8-81846
Василий Петрович
2003-04-15 09:28
2003.08.25
Как играть xm?


1-81802
Checist [root]
2003-08-13 22:03
2003.08.25
Интеграция с IE


1-81689
hoy
2003-08-11 01:00
2003.08.25
richedit и т.п.


14-81905
Velocity
2003-08-01 09:48
2003.08.25
хитрости формата XLS (Excel 97)