Форум программистов, компьютерный форум, киберфорум
Наши страницы
Delphi для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 5.00/10: Рейтинг темы: голосов - 10, средняя оценка - 5.00
MaDiNa
3 / 3 / 1
Регистрация: 02.04.2012
Сообщений: 107
1

ScrollBar с функцией преобразования значений цветовых составляющих TColorRef

24.02.2013, 22:04. Просмотров 1959. Ответов 10
Метки нет (Все метки)

Здравствуйте, надо создайть программу, с помощью которой пользователь мог бы увидеть в зависимости от значений насыщенности красного, зеленого и синего цветов результирующий цвет. Я все сделала по шаблону, только вот в цвет не преобразовывается в панели...Подскажите пожалуйста почему? Ниже представлен код проекта в ХЕ3:
Delphi
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
unit Unit1;
 
interface
 
uses
  Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics,
  Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Vcl.StdCtrls, Vcl.ExtCtrls;
 
type
  TForm1 = class(TForm)
    Panel1: TPanel;
    Panel2: TPanel;
    Panel3: TPanel;
    Panel4: TPanel;
    Label1: TLabel;
    Label2: TLabel;
    Label3: TLabel;
    RedBar: TScrollBar;
    GreenBar: TScrollBar;
    BlueBar: TScrollBar;
    procedure RedBarChange(Sender: TObject);
    procedure GreenBarChange(Sender: TObject);
    procedure BlueBarChange(Sender: TObject);
    procedure FormCreate(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;
 
var
  Form1: TForm1;
 
implementation
 
{$R *.dfm}
 
procedure TForm1.BlueBarChange(Sender: TObject);
begin
Panel3.Color :=TColorRef(RGB(BlueBar.Position,0,0));
Label3.Caption := IntToStr(BlueBar.Position);
Panel4.Color := TColorRef(RGB(RedBar.Position, GreenBar.Position, BlueBar.Position));
end;
 
procedure TForm1.FormCreate(Sender: TObject);
begin
 
Panel1.Color := RGB(RedBar.Position, 0 , 0);
Label1.Caption := IntToStr(RedBar.Position);
 
Panel2.Color := RGB(GreenBar.Position, 0 , 0);
Label2.Caption := IntToStr(GreenBar.Position);
 
Panel3.Color := RGB(BlueBar.Position, 0 , 0);
Label3.Caption := IntToStr(BlueBar.Position);
 
end;
 
procedure TForm1.GreenBarChange(Sender: TObject);
begin
Panel2.Color :=TColorRef(RGB(GreenBar.Position,0,0));
Label2.Caption := IntToStr(GreenBar.Position);
Panel4.Color := TColorRef(RGB(RedBar.Position, GreenBar.Position, BlueBar.Position));
end;
 
procedure TForm1.RedBarChange(Sender: TObject);
begin
Form1.Panel1.Color :=TColorRef(RGB(RedBar.Position,0,0));
Label1.Caption := IntToStr(RedBar.Position);
Panel4.Color := TColorRef(RGB(RedBar.Position, GreenBar.Position, BlueBar.Position));
 
end;
 
end.
Добавлено через 10 минут
Кажется не работает TColorRef! Может для его работы нужны дополняющие?!
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
24.02.2013, 22:04
Ответы с готовыми решениями:

Распознать лицо на фотографии, используя интервалы цветовых составляющих
Хочу написать алгаритм определения лица на фоторграфии, что бы лицо выделялось...

Добавить шум к одной из цветовых составляющих рисунка,повернуть его на заданный угол (90, 180, 270)
С поворотами на заданный угол я вроде бы справился,а вот как добавить шум к...

Вывод значений с функцией if
Добрый день дорогие форумчане. Возникла у меня проблема которая загнала меня в...

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

Изменение значений массивов функцией
Добрый день! Начал изучение пхп. Сейчас стоит задача изменить значения...

10
Fenix_dragon
117 / 117 / 2
Регистрация: 29.01.2013
Сообщений: 437
24.02.2013, 22:31 2
MaDiNa, Если уберёш TColorRef то точно работать будет
0
MaDiNa
3 / 3 / 1
Регистрация: 02.04.2012
Сообщений: 107
24.02.2013, 22:37  [ТС] 3
Цитата Сообщение от Fenix_dragon Посмотреть сообщение
MaDiNa, Если уберёш TColorRef то точно работать будет
пробовала, не работает! Программа как и раньше запускается, выходит позиция в лейбл, а цвет панели в соответствии с позицией не меняется,он вообще не меняется
0
Fenix_dragon
117 / 117 / 2
Регистрация: 29.01.2013
Сообщений: 437
24.02.2013, 22:42 4
а что в TScrollBar записано? (Максимальное и минисальное значения)

Добавлено через 2 минуты
да, кстати, а почему во всём коде изменяется токо значение красного цвета?
0
MaDiNa
3 / 3 / 1
Регистрация: 02.04.2012
Сообщений: 107
24.02.2013, 22:47  [ТС] 5
Цитата Сообщение от Fenix_dragon Посмотреть сообщение
а что в TScrollBar записано? (Максимальное и минисальное значения)

Добавлено через 2 минуты
да, кстати, а почему во всём коде изменяется токо значение красного цвета?
мах =255, а min=0

там же вроде GreenBar зеленый цвет меняется, в BlueBar синий, а красный только в RedBar ?
0
Fenix_dragon
117 / 117 / 2
Регистрация: 29.01.2013
Сообщений: 437
24.02.2013, 22:49 6
MaDiNa, ты изменяеш токо состовляющую красного цвета!
RGB(RedBar.Position, 0 , 0);
если хочеш менять сугубо составляющую зелёного цвета, то
RGB(0, GreenBar.Position , 0);, а не RGB(GreenBar.Position, 0 , 0);
синий цвет - третий параметр
1
cotseec
Пишу на Delphi...иногда
1408 / 1267 / 285
Регистрация: 03.12.2012
Сообщений: 3,914
Записей в блоге: 5
Завершенные тесты: 3
24.02.2013, 22:49 7
Пример на Delphi7
1
Вложения
Тип файла: 7z Test11.7z (154.4 Кб, 58 просмотров)
volvo
Супер-модератор
Эксперт Pascal/DelphiАвтор FAQ
26519 / 17808 / 7048
Регистрация: 22.10.2011
Сообщений: 31,338
Записей в блоге: 6
24.02.2013, 22:54 8
MaDiNa, ParentBackground для панелей в False выставь... Желательно - в рантайме, в OnCreate формы, потому как с дизайнтаймом, помнится, были проблемы, не знаю, исправили их в XE3 или нет...
2
MaDiNa
3 / 3 / 1
Регистрация: 02.04.2012
Сообщений: 107
24.02.2013, 22:56  [ТС] 9
Цитата Сообщение от Fenix_dragon Посмотреть сообщение
MaDiNa, ты изменяеш токо состовляющую красного цвета!
RGB(RedBar.Position, 0 , 0);
если хочеш менять сугубо составляющую зелёного цвета, то
RGB(0, GreenBar.Position , 0);, а не RGB(GreenBar.Position, 0 , 0);
синий цвет - третий параметр
да,поняла спасибо! дело в том что мне надо в соответствии с позицией цвет менялся,а он не меняется((
1
Fenix_dragon
117 / 117 / 2
Регистрация: 29.01.2013
Сообщений: 437
24.02.2013, 22:59 10
MaDiNa, тогда пробуй то, о чём советует UI
0
MaDiNa
3 / 3 / 1
Регистрация: 02.04.2012
Сообщений: 107
24.02.2013, 23:01  [ТС] 11
Добавлено через 2 минуты
Цитата Сообщение от UI Посмотреть сообщение
MaDiNa, ParentBackground для панелей в False выставь... Желательно - в рантайме, в OnCreate формы, потому как с дизайнтаймом, помнится, были проблемы, не знаю, исправили их в XE3 или нет...
Огромное вам спасибо!!!! я это и спрашивала))) Все работает)))
0
24.02.2013, 23:01
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
24.02.2013, 23:01

Несколько значений, возвращаемых функцией
Могут ли функции в PHP возвращать несколько значений?

Ограничение значений принимаемых функцией
Есть функция: private void Turist(string element) { swith(element) ...

Ввод значений функцией System.in.read()
Здравствуйте! Код: package lab3; import java.io.IOException; import...


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

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru