Показать сообщение отдельно
  #2  
Старый 19.11.2007, 13:02
AlexSku AlexSku вне форума
Специалист
 
Регистрация: 07.05.2007
Адрес: Москва
Сообщения: 884
Репутация: 21699
По умолчанию

Надо использовать два линейных участка. Пример (на форме 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;
Ответить с цитированием