Привет, Гость! Регистрация RSS
Четверг, 25.04.2024
Главная » Файлы » Основные файлы сайта

Цветоменятель
[ Скачать с сервера (203.1 Kb) ] 20.10.2012, 14:43

1.  Размещаем компоненты на форме:    Panel1, Panel2, TrackBar1 (см.рисунок)


2.   Функциональность приложения:  При запуске приложения устанавливается цвет панелей – зеленая и фиолетовая. При смещении ползунка регулятора величины  на единицу с помощью мыши изменяется цвет панелей. Для  реализации этих действий необходимо выполнить следующее:

    - объявить глобальные переменные Cvet1 и Cvet2 типа TColor.

- создать обработчик события формы OnCreate, который при запуске приложения будет присваивать значения глобальным переменным Cvet1:= clGreenCvet2:= clFuchsia;

   - создать обработчик события  регулятора TrackBar1 OnChange. По нажатию на ползунок регулятора устанавливается цвет панелей: Panel1 - Зеленая и Panel2 – Фиолетовая. При изменении позиции ползунка регулятора на единицу с помощью мыши изменяем цвет панелей. Для изменения цвета  воспользуемся пользовательскими функциями – «Svetlee» и «Temnee».  При вызове функций указываются в качестве фактических параметров первоначальный цвет панелей (для этого указываем глобальные переменные) и процент для увеличения и уменьшения яркости цветов с помощью свойства Position компонента TrackBar1.

Описание обработчика события:

 procedure TForm1.TrackBar1Change(Sender: TObject); 

begin

    Panel1.Color := Svetlee(Cvet1, TrackBar1.Position);

    Panel2.Color:= Temnee(Cvet2,TrackBar1.Position);

end;

 -  Далее необходимо объявить в интерфейсной части модуля пользовательские функции   

function Svetlee(Color: TColor; Procent: Byte): TColor;  
function Temnee(Color: TColor; Procent: Byte): TColor;

 

  -  Описание алгоритма функции «Svetlee»

function TForm1.Svetlee(Color: TColor; Procent: Byte): TColor;  //

описание функции

var

    r, g, b: Byte;

begin    //тело функции

Color := ColorToRGB(Color);   //Раскладываем текущий цвет на составляющие с помощью стандартной функции

                                                     // func Graphics.ColorToRGB – graphics.pas (1259)

    r := GetRValue(Color);                  //

Красный     func Windows.GetRValue  – windows.pas (30335)

    g := GetGValue(Color);                //

Зеленый

    b := GetBValue(Color);                //

Синий

    r := r + muldiv(255 - r, Procent, 100);     //Увеличение яркости на %

g := g + muldiv(255 - g, Procent, 100);  // func Windows. muldiv – windows.pas (28616)

    b := b + muldiv(255 - b, Procent, 100);

Result := RGB(r, g, b);                           //Смешиваем цвета и возвращаем значение

end;

 

  -  Описание алгоритма функции «Temnee»

function TForm1.Temnee(Color: TColor; Procent: Byte): TColor;   //

описание функции

var

    r, g, b: Byte;

begin

    // тело функции

   

Color := ColorToRGB(Color);

    r := GetRValue(Color);

    g := GetGValue(Color);

    b := GetBValue(Color);

    r := r - muldiv(r, Procent, 100);

    g := g - muldiv(g, Procent, 100);

   

b := b - muldiv(b, Procent, 100);

    result := RGB(r, g, b);

end;

Подпишись, чтобы получать свежие исходники!
Нравится
Категория: Основные файлы сайта | Добавил: Dark_Green | Теги: TrackBar1, Panel2, регулятор величин, Panel1, TrackBar
Просмотров: 4761 | Загрузок: 680 | Рейтинг: 0.0/0

Другие примеры
Всего комментариев: 0
Добавлять комментарии могут только зарегистрированные пользователи.
[ Регистрация | Вход ]