![]() |
|
|
|||||||
| Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
![]() |
|
|
Опции темы | Поиск в этой теме | Опции просмотра |
|
#1
|
|||
|
|||
|
У меня в программе надо сделать линейку окраска которой менялась бы от синего на одном конце к зелёному посередине и красному на другом конце плавно. Как это сделать в системе RGB никак ума не приложу.
Если кто сталкивался с такой проблеммой или знает как её решить, ПОДСКАЖИТЕ. |
|
#2
|
|||
|
|||
|
Надо использовать два линейных участка. Пример (на форме PaintBox1 высотой 511):
Код:
procedure TForm1.PaintBox1Paint(Sender: TObject);
var
I: Integer;
begin
for I:= 0 to 255 do
begin
PaintBox1.Canvas.Pen.Color:= RGB(0, I, 255-I);
PaintBox1.Canvas.Polyline([Point(0, I), Point(PaintBox1.Width, I)]);
end;
for I:= 0 to 255 do
begin
PaintBox1.Canvas.Pen.Color:= RGB(I, 255-I, 0);
PaintBox1.Canvas.Polyline([Point(0, 255+I), Point(PaintBox1.Width, 255+I)]);
end;
end; |