Что такое Цвет?
Материал из DRKB
Если Edit1.Text
это String то что такое Edit1.Font.Color
?
TColor - это Integer, чтоб задать нужный цвет можно пользовать константы, а можно в числовом виде:
Edit1.Font.Color := $223344;
- где 22 - яркость красного цвета, может быть в пределах от 00 до FF
- где 33 - яркость зеленого цвета, может быть в пределах от 00 до FF
- где 44 - яркость синего цвета, может быть в пределах от 00 до FF
Например:
Edit1.Font.Color := $000000; // черный
Edit1.Font.Color := $FFFFFF; // белый
Edit1.Font.Color := $00FF00; // зеленый
Всего определено 256*256*256 цветов
В примерах я использовал шестнадцатиричные значения так как так проще, но можно и десятичные, если разберетесь какой это цвет
Edit1.Font.Color := 123456;
Author: Vit
Source: http://forum.vingrad.ru
ID: 03665
Можно использовать константы типа clRed, clBlack, clLime, clGreen...
Для работы с цветом можно использовать следующие функции
function RGB(r, g, b: Byte): TColor; // получаешь цвет по 3 составляющим
function GetRValue(Color: TColor): Byte;
function GetGValue(Color: TColor): Byte; // получаешь значение интенсивности цвета.
function GetBValue(Color: TColor): Byte;
Author: Mikel
Source: http://forum.vingrad.ru
ID: 03666
Для хранения цвета существует свой собственный тип, который называется TColor. Этот тип содержит информацию, как о самом цвете, так и том, каким образом его заменить, если, например, цветовая палитра системы не поддерживает этот цвет (скажем, установлено всего 256 цветов, а цвет, заданный в переменной, вылезает далеко за пределы этих 256 цветов).
Тип TColor состоит из четырех байт. Первый байт - указатель на замену цвета (о нем поговорим позже). Второй байт - яркость красного цвета от 0 до 255 (от 00 до FF). Третий байт - яркость зеленого цвета от 0 до 255 (от 00 до FF). И, наконец, четвертый байт - яркость синего цвета, также, от 0 до 255 (от 00 до FF).
А как Вы уже знаете, из этих трех цветов: красного, зеленого и синего, регулируя их яркость, можно составить практически любой цвет.
Поговорим теперь о первом байте - указателе на замену цвета. Итак, этот байт может принимать три различных значения - ноль ($00), единицу ($01) или двойку ($02). Что это значит:
- Ноль ($00) - цвет, который не может быть воспроизведен точно, заменяется ближайшим цветом из системной палитры.
- Единица ($01) - цвет, который не может быть воспроизведен точно, заменяется ближайшим цветом из палитры, которая установлена сейчас.
- Двойка ($02) - цвет, который не может быть воспроизведен точно, заменяется ближайшим цветом из палитры, которую поддерживает текущее устройство вывода (в нашем случае - монитор).
Видимо, всегда лучше устанавливать значение первого байта равным нулю ($00), по крайней мере, так происходит при получении типа TColor при помощи функции RGB.
И, напоследок, несколько примеров:
- $00FFFFFF - белый цвет;
- $00000000 - черный цвет;
- $00800000 - темно-красный цвет.
Source: http://delphiworld.narod.ru
ID: 03667