Помощь - Поиск - Пользователи - Календарь
Полная версия: работа с цветом
Форум «Всё о Паскале» > Современный Паскаль и другие языки > Делфи
XGEAR
подскажите как осуществить последовательную смену цвета в панели
(например чтобы она меняла цвет от 000000 до FFFFFF)
спасибо smile.gif
Ozzя
Взято из ДРКБ
Цитата
Можно использовать константы типа clred, clblack, cllime, clgreen...
Для работы с цветом можно использовать следующие функции
RGB(r,g,b:byte):tcolor //получаешь цвет по 3 составляющим
GetRValue(color:tcolor)
GetGValue(color:tcolor)//получаешь значение интенсивности цвета.
GetBValue(color:tcolor)

Автор ответа: Mikel
Взято с Vingrad.ru http://forum.vingrad.ru


--------------------------------------------------------------------------------

Для хранения цвета существует свой собственный тип, который называется 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 - темно-красный цвет.


Взято с http://delphiworld.narod.ru
XGEAR
ну там походу дела цикл нужен....
Это текстовая версия — только основной контент. Для просмотра полной версии этой страницы, пожалуйста, нажмите сюда.