Главная страница
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.014 c
3-77714
Alfred77777
2003-06-30 09:39
2003.07.24
Пустое поле


7-78172
Nucl
2003-05-16 13:19
2003.07.24
2 монитора


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


1-77946
Erik
2003-07-10 16:30
2003.07.24
В чем отличия CallBack для DCOM и Borland Socket Server?


14-78127
Cranium
2003-07-08 22:12
2003.07.24
Модератор на сайте человек или ИИ? Сволочь ...