aus eigener Intresse habe ich mal was zusammen geschrieben, für dich:
Delphi-Quellcode:
procedure DrawColorLine(aCanvas:TCanvas;x,y,w,h:Integer; colors:array of TColor);
var
len,aw,ah,i:Integer;
begin
len:=High(colors); aw:=w div len; ah:=h div len;
for i:=0 to len do begin
acanvas.Pen.color:=Colors[i];
acanvas.MoveTo(x,y);
acanvas.LineTo(x+aw,y+ah);
x:=x+aw; y:=y+ah;
end; // for i:=0
end;
// So kann es verwendet werden
procedure TForm1.Button1Click(Sender: TObject);
begin
DrawColorLine(Paintbox1.Canvas,10,10,50,10,[clLime, ClRed, clBlue,clBlack,clWhite, clAqua],30);
end;
Die Anzahl der Farben spielt hier eine Rolle, je mehr Farben, desto bunter wird die Line Logischer weise,
Ich war etwas überrascht das es so einfach ist. Was meint ihr ? ich habe einige Tests gemacht, anscheid klappt es so.