Учебник по Delphi

Точный подбор цвета.

   В Delphi свойству Color или переменной типа TColor в качестве значения можно передать цвет. Вообще тип TColor включает в себя числовые значения от -$7FFFFFFF-1 до $7FFFFFFF. И если вам хочется сделать компонент какого-то нестандартного оттенка, то придется поэкспериментировать с числовыми значениями.

Обычный красный цвет, который входит в стандартные, можно получить следующим образом:

Labell.Color := clRed;

Абсолютно такого же красного цвета можно добиться, присвоив такое значение:

Labell.Color := $OOOOFA; FFOOOO

   Как же подобрать число, которое соответствует нужному цвету и оттенку. Конечно, можно просто подставлять разные значения одно за другим и смотреть, что получилось. Но есть более эффективный способ! Для этого нам нужны следующие программы: графический редактор Paint, встроенный в Windows Калькулятор и, естественно, Delphi. Вместо Paint можно использовать Adobe Photoshop, так как работать будем только с палитрой цветов. Заменить стандартный Калькулятор Windows можно любым другим калькулятором для инженерных расчетов. А вот без Delphi не обойтись. Сначала нужно визуально подобрать цвет, который мы хотим задать для Labell. Запускаем редактор Paint и открываем в нем окно изменения палитры цветов: Палитра > Изменить палитру > Определить цвет. Если же вы работаете в Photoshop, то перейдите на палитру Color (Синтез).

   Теперь можно представить себя художником и подобрать какой-нибудь нестандартный цвет . Не зря же существуют видеокарты с поддержкой 24-битного цвета?

   В общем, подбирайте любой цвет нужного вам оттенка. При этом обращайте внимание на три окошка, в которых записывается цифровое представление цвета. Например, если выбрать просто красный цвет, то в данных окошках будет стоять 255, 0, 0. У оранжевого цвета эти параметры другие: 255,128, 0 (рис. 9.4, 9.5). После окончательного подбора цвета данные числа нам как раз и понадобятся.

   Сейчас нужно преобразовать числа в шестнадцатеричное представление. Это можно сделать и вручную, написав программу для пересчета, но проще всего взять калькулятор. Однако любой не подойдет, а только преобразовывающий числа из одной системы счисления в другую. Встроенный в Windows Калькулятор выполнять эту операцию, если включить режим Вид > Инженерный

Допустим, в графическом редакторе мы выбрали оранжевый цвет, который характеризуется значениями 255,128, 0.

   Переведем их все в шестнадцатеричное представление. Для этого введем на калькуляторе число 255 и установим переключатель, находящийся слева вверху, в положение Hex. Получился результат FF.

   Записываем это значение куда-нибудь или запоминаем его и преобразовываем следующее число (переключив калькулятор из режима Hex в Dec). Затем так же поступаем и с третьим числом. У нас получилось FF, 80, 00.

   Присвоим данные значения свойству Color. Только нужно присваивать их в обратном порядке и поставить перед ними знак $, что означает шестнадцатеричную систему счисления:

Labell.Color := $0080FF; FF8000

   Таким образом можно отобразить любой оттенок. По мере приобретения опыта вы будете задавать цвета даже без использования графического редактора. Допустим, могу навскидку сказать, что $229000; DD9022 — это тоже оранжевый цвет, только более бледный и немного другого оттенка, чем $FF8000.




 

Рейтинг@Mail.ru          Rambler's Top100

X-ZiBiT