Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2003.07.24;
Скачать: CL | DM;

Вниз

Как сделать градиент?   Найти похожие ветки 

 
lex7   (2003-07-10 17:13) [0]

Подскажите, пожалуйста, как сделать эффект градиента, т.е. плавный переход от одного цвета к другому? Если взять разницу между двумя цветами, раздилить на количество полос, то получаются просто рваные цветные участки.

procedure TForm1.Gradient;
var
i: integer;
cc, bc, d: double; // чтобы был более точный шаг
begin
cc:=$00000;
bc:=$FFFFF;

d:=cc - bc / Height;
for i:=0 to Height - 1 do
begin
Canvas.MoveTo(0, i);
Canvas.Pen.Color:=Trunc(cc);
cc:=cc - d;
Canvas.LineTo(Width, i);
end;
end;


 
Skier ©   (2003-07-10 17:16) [1]

>lex7 (10.07.03 17:13)
Исходников градиента в сети целая могучая кучка.
Почему бы не поискать ?


 
Poirot ©   (2003-07-10 17:16) [2]

делай тоже самое, только по компанентам цвета RGB!... Вычисляй разницу и снужным шагом прибавляй к каждой компоненте нужный шаг... потом назад в цвет... и впринципе всё!!!


 
3APA3A ©   (2003-07-10 17:21) [3]

попробуй все это представить визуально

RGB - это куб, с координатами одного угла (0,0,0) и противоположного - (255,255,255). Два цвета - это просто две точки (X1,Y1,Z1) и (X2,Y2,Z2). Плавный переход от 1 цвета ко 2-му - это просто небольшой сдвиг (насколько небольшой - зависит от тебя) по этой линии в сторону 2-го цвета... Соответственно, координаты точки на линии - RGB... Если с математикой не так плохо - вперед....



Страницы: 1 вся ветка

Текущий архив: 2003.07.24;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.025 c
1-77967
denick
2003-07-10 01:31
2003.07.24
Delphi & MS Word.


14-78097
MishaS
2003-07-08 11:22
2003.07.24
Установка MS SQL Server 2000


1-77977
snl73
2003-07-11 12:09
2003.07.24
добавление объектов в работающее приложение


3-77783
OlkaGTS
2003-07-01 17:22
2003.07.24
Delphi + поля объекта OLE в MS Access


14-78120
Ihor999
2003-07-08 16:05
2003.07.24
HTML парсер.