如何实现用不同颜色或不同图案填充线段????

解决方案 »

  1.   

    可以在线段上用不同的颜色重画
    var i:integer;
    begin
      i:=0;
      Canvas.Pen.Width:=10;
      Randomize;
      while i<200 do
        begin
          i:=i+10;
          Canvas.Pen.Color:=Random($FFFFFF);
          Canvas.LineTo(i,i);
        end;
    end;
      

  2.   

    procedure TForm1.Button1Click(Sender: TObject);
    begin
      with Canvas do
      begin
        Pen.Color:= clRed;
        Pen.Width:= 2;
        Pen.Style:= psDash;
        Brush.Color:= clYellow;
        Brush.Style:= bsCross;
        Rectangle(10, 20, 80, 40);
        Pen.Color:= clBlue;
        Pen.Width:= 4;
        Pen.Style:= psDashDotDot;
        Brush.Color:= clGreen;
        Brush.Style:= bsFDiagonal;
        Rectangle(80, 20, 150, 40);
      end;
    end;