Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 2003.08.25;
Скачать: [xml.tar.bz2];

Вниз

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

 
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;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.47 MB
Время: 0.01 c
1-81768
LVitaliy
2003-08-14 14:13
2003.08.25
Преобразование


3-81533
Berezne
2003-07-31 13:14
2003.08.25
Как организовать фильтрацию в DBGrid !!!


7-81986
HardClubber
2003-06-08 17:48
2003.08.25
Написание драйвера


3-81540
McSimm2
2003-07-31 09:55
2003.08.25
[Oracle] fields not is null


1-81616
hawkins
2003-08-13 08:09
2003.08.25
В TImage вместо текста появляется черная полоса





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский