Главная страница
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.015 c
14-78065
Opera
2003-07-06 20:15
2003.07.24
Прописование


14-78125
Луарвик
2003-07-07 11:40
2003.07.24
Работа с ini


1-77997
Darrin
2003-07-11 16:46
2003.07.24
Как изменить цвет MainMenu ?


3-77761
Step[B.M.]
2003-07-01 16:51
2003.07.24
Как увидеть листы Excel в ADOTable?


14-78112
sss123456
2003-07-07 17:03
2003.07.24
Слишком сложный и неудобный форум