Вниз
Скачать: 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 вся ветка

Скачать: CL | DM;



Память: 0.45 MB
Время: 0.015 c
6-78032
zhe
2003-05-16 03:34
2003.07.24
MAPI


1-77931
Aleksandr
2003-07-10 15:47
2003.07.24
Как правильно вычислить координаты текста для потомка TLabel?


14-78152
vidiv
2003-07-02 13:50
2003.07.24
Зачем в первой цивилизации строить ...


3-77805
Aiw
2003-07-03 12:49
2003.07.24
Как создать и подключить таблицу FoxPro?


1-77934
TiRAN
2003-07-10 00:25
2003.07.24
Как что-нибуть записать в реестр




   Наверх