Форум: "Основная";
Текущий архив: 2003.07.24;
Скачать: [xml.tar.bz2];
ВнизКак сделать градиент? Найти похожие ветки
← →
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;
Скачать: [xml.tar.bz2];
Память: 0.44 MB
Время: 0.01 c