Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 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.007 c
7-78176
uk
2003-04-30 20:29
2003.07.24
Как точно отловить окончание передачи в линию RS-232


14-78124
Chieftain
2003-07-08 11:15
2003.07.24
Выживание человечества в следующие 20 лет


3-77773
mihmax
2003-06-19 16:00
2003.07.24
BDE не видит MS SQL


14-78043
Домарощинер
2003-07-09 19:49
2003.07.24
Перезагрузка матрицы в анекдотах


3-77718
Zigs
2003-06-30 12:06
2003.07.24
Проблема с точностью значения на клиенте ...





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский