Вниз
Скачать: CL | DM;

Цвет из градиента   Найти похожие ветки 

 
Салат   (2007-02-03 12:43) [0]

Здравствуйте! Как можно вычислить значение цвета между зелёным (rgb 0 120 0) и красным (rgb 180 0 0) в зависимости от некоторой переменной I, которая принимает значения от 0 до 300. Другими словами, как вычислить цвет (или значение красной составляющей... я не очень силён в графике), если чем меньше I, тем "краснее" цвет?

I=300, цвет rgb(0,120,0)
I=0, цвет rgb(180,0,0)

Ссылки на руководства по алгоритмам приветствуются!
Заранее спасибо.


 
Vovan #2   (2007-02-03 13:12) [1]

RGB модель - это цветовой куб 256х256х256. Тебе нужно соединить две точки в этом кубе и разбить отрезок на 300 частей.


 
Pavia ©   (2007-02-03 13:16) [2]

R1:=0;
R2:=180;
R:=R1*A+(1-A)*R2; Где A может принимать значения от 0 до 1. Или
R:=R1*I/300+(300-I)/300*R2;
И так для всех состовляющих цвета.


 
Vovan #2   (2007-02-03 13:21) [3]

GetColorBetween
http://www.efg2.com/Lab/Library/UseNet/2001/0821.txt


 
@!!ex ©   (2007-02-05 09:37) [4]

бррр. теме место в "начинающим"
Тупо находим расстояние между точками(в данном случае разница между значениями цветов), значение цвета в точке равно начальному значению + расстояние между точками*на коэфициент рсстояния от 0 до 1.

R:=R1+(R2-R1)*(I/300);
G:=G1+(G2-G1)*(I/300)
B:=B1+(B2-B1)*(I/300)



Страницы: 1 вся ветка

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



Память: 0.45 MB
Время: 0.016 c
2-1194291948
ProgRAMmer Dimonych
2007-11-05 22:45
2007.12.02
Проблема с TFileStream


8-1170431716
Jimmy
2007-02-02 18:55
2007.12.02
Не работает пунктир для толстых линий.


15-1194117044
vasIZmax
2007-11-03 22:10
2007.12.02
Диплом не за горами (посоветуйте и только)


6-1175158481
max_max
2007-03-29 12:54
2007.12.02
отправка строки через сокеты в цикле


2-1194435147
tipman
2007-11-07 14:32
2007.12.02
Разъезжаются контролы при использовании тем WinXP




   Наверх