Форум: "Media";
Текущий архив: 2006.08.06;
Скачать: [xml.tar.bz2];
ВнизЗаполнение Canvas цветами от синего к красному Найти похожие ветки
← →
guitarist © (2006-02-09 17:48) [0]Вот решил сделать что-то типа визуализатора. Каждой точке canvas присвоил какое-то число. А теперь хочу вывести этот canvas таким образом, чтобы чем больше число, тем ближе к синему был цвет, а чем меньше тем ближе к красному. Подобрать формулу сам что-то пока не смог. Помогите, пожалуйста.
PS Только про зеленый забывать не следует, я думаю, если зеленый в RGB принять за константу работать не будет, хотя я может быть ошибаюсь.
← →
antonn © (2006-02-09 18:56) [1]глянь тут:
http://delphimaster.net/view/2-1137971881/
← →
XProger © (2006-02-09 23:55) [2]
const
W = 640;
H = 480;
var
i, c : Integer;
begin
for i := 0 to H - 1 do
begin
c := i * 255 div H;
Canvas.Pen.Color := RGB(c, 0, 255 - c);
Canvas.MoveTo(0, i);
Canvas.LineTo(W, i);
end;
end;
← →
guitarist © (2006-02-10 13:24) [3]XProger.
То что предложили Вы -- это что-то вроде градиентной заливки, а нужно именно то, что я написал
← →
antonn © (2006-02-10 13:27) [4]guitarist © (10.02.06 13:24) [3]
а нужно именно то, что я написал
без пол-литра не понять, что вы хотите...
← →
antonn © (2006-02-10 13:38) [5]может так:
function GetColorMegduRandB(level,Max:integer):Tcolor;
var r,b:byte;
begin
r:=trunc(level*255/max);
b:=255-r;
result:=rgb(r,0,b);
end;
использование примерно такое:procedure TForm1.TrackBar1Change(Sender: TObject);
begin
canvas.Brush.Color:=GetColorMegduRandB(TrackBar1.Position,TrackBar1.Max);
canvas.FillRect(rect(0,0,100,100));
end;
← →
XProger © (2006-02-10 20:04) [6]
const
MAX_NUM = 640;
...
procedure TForm1.NumOut(X, Y: Integer; Value: Integer);
var
c : Integer;
begin
c := Value * 255 div MAX_NUM;
Canvas.Font.Color := RGB(c, 0, 255 - c);
Canvas.TextOut(X, Y, IntToStr(Value));
end;
К сожалению, я - человек не пьющий, так что сути вопроса ясно понять не могу...
← →
guitarist © (2006-02-10 21:41) [7]Хм, а мне казалось понятно объяснил.
Вот посмотрите, пожалуйста, как сделать хочется.
http://avtogoal.narod.ru/123.JPG
← →
XProger © (2006-02-10 23:40) [8]Для человека с "незаконченным высшим" образованием - стыдно не решить подобную задачу. Всё необходимое для её решения мы дали, осталось только чуть-чуть подумать и решить задачу. Оставлю это удовольствие Вам...
Страницы: 1 вся ветка
Форум: "Media";
Текущий архив: 2006.08.06;
Скачать: [xml.tar.bz2];
Память: 0.46 MB
Время: 0.021 c