Володей
1

Смешивание цветов.

04.02.2011, 17:53. Показов 4925. Ответов 4
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Имеются три TrackBar отвечающие за цвета RGB соответственно. Как сделать так, что бы Panel принимал цвет в зависимости от позиции всех TrackBar?

Добавлено через 1 час 0 минут
Delphi
1
2
3
4
5
6
procedure TForm1.TrackBar1Change(Sender: TObject);
begin
R:=trackbar1.Position;
Edit1.text:=IntToStr(R);
panel1.Color:=RGBToColor(R,G,B);
end;
Подумал и вот как оно работает. Так для каждого TrackBar нужно.
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
04.02.2011, 17:53
Ответы с готовыми решениями:

Конвертация цветов в коды цветов
Здраствуйте. Помогите мне научится шагу интерпретации на Лазаврус. Цель - Написать...

Сравнение цветов
Не получается сделать сравнение цветов в panel. Вот что я сделал if panel1.Color:=clGreen and ...

Диаграмма с картой цветов
В компоненте TChart одним из типов добавляемых диаграмм (наряду с графиком, круговой диаграммой и...

Разбегающиеся из центра окружности разных цветов
Написать программу, рисующую разбегающиеся из центра окружности разных цветов.

4
2021 / 1620 / 489
Регистрация: 31.05.2009
Сообщений: 3,005
04.02.2011, 18:51 2
Цитата Сообщение от Володей Посмотреть сообщение
Так для каждого TrackBar нужно
Здесь достаточно одной процедуры. Нет смысла делать отдельно для каждого.
0
Володей
04.02.2011, 20:56 3
Цитата Сообщение от rangerx Посмотреть сообщение
Здесь достаточно одной процедуры. Нет смысла делать отдельно для каждого.
Так ведь это только для красного цвета, а еще зеленый и синий.
2021 / 1620 / 489
Регистрация: 31.05.2009
Сообщений: 3,005
04.02.2011, 22:37 4
Цитата Сообщение от Володей Посмотреть сообщение
Так ведь это только для красного цвета, а еще зеленый и синий.
И поэтому надо дублировать код(в каждой процедуре по сути одно и тоже)? Думаю есть смысл подумать над более компактным решением.
0
36 / 36 / 7
Регистрация: 08.01.2011
Сообщений: 137
06.02.2011, 11:24 5
В качестве размышлений...
Можно ведь повесить все это на кнопку:

Pascal
1
2
3
4
5
6
7
8
9
10
procedure TForm1.Button1Click(Sender: TObject);
begin
R:=trackbar1.Position;
G:=trackbar2.Position;
B:=trackbar3.Position;
Edit1.text:=IntToStr(R);
Edit2.text:=IntToStr(G);
Edit3.text:=IntToStr(B);
panel1.Color:=RGBToColor(R,G,B);
end;
Но тут цвет в режиме реального времени меняться не будет.

А ещё, можно весь код написать в отдельной процедуре с параметрами, а потом вызывать одной строкой в нужном месте.
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
06.02.2011, 11:24
Помогаю со студенческими работами здесь

Набор из 23 пикселей случайных цветов(анимация)
Набор из 23 пикселей случайных цветов, двух квадратов с диагоналями, параллельными краям экрана, и...

Переключения цветов шрифта на панели с использованием ScrollBar
Подскажите пожалуйста как с помощью ScrollBar'а сделать переключения цветов шрифта на панели?

Как получить больше цветов, чем 8bit на канал (RGB)?
Как получить больше цветов, чем 8 bit на канал (RGB)? Стандартно, насколько я знаю, можно...

Смешивание цветов
Всем привет, недавно задали задание по учебе, но сам никак что то не смог, помогите пж нужно...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2023, CyberForum.ru