(Gast)
n/a Beiträge
|
AW: Brauche Hilfe bei einer Übung
24. Apr 2014, 00:33
Canvas bei Delphi hat keine richtige Linie. Das sollte aber kein Problem sein, das kann man sich schnell selbst basteln:
Delphi-Quellcode:
procedure CanvasLine(Canvas: TCanvas; x1, y1, x2, y2: Integer);
begin
Canvas.MoveTo(x1, y1);
Canvas.LineTo(x2, y2);
end;
procedure TForm1.Button1Click(Sender: TObject);
begin
CanvasLine(Self.Canvas, 100, 100, 100, 500);
CanvasLine(Self.Canvas, 100, 500, 500, 500);
CanvasLine(Self.Canvas, 500, 500, 500, 100);
CanvasLine(Self.Canvas, 500, 100, 100, 100);
end;
Auf der anderen Seite, wenn man mit LineTo umgehen kann, hat das seine Logik:
Delphi-Quellcode:
procedure TForm1.Button2Click(Sender: TObject);
begin
with Canvas do
begin
MoveTo(110, 110);
LineTo(110, 510);
LineTo(510, 510);
LineTo(510, 110);
LineTo(110, 110);
end;
end;
Wenn es keine einzelne Line sein soll und vorhandene Formen nicht reichen, gibt es auch das Polygon:
Delphi-Quellcode:
procedure TForm1.Button3Click(Sender: TObject);
var
PunktListe: array[0..4] of TPoint;
begin
PunktListe[0] := Point(120, 120);
PunktListe[1] := Point(120, 520);
PunktListe[2] := Point(520, 520);
PunktListe[3] := Point(520, 120);
PunktListe[4] := Point(120, 120);
with Canvas do
begin
Pen.Color := clRed;
Brush.Color := clYellow;
Brush.Style := bsSolid;
Polygon(PunktListe);
end;
end;
|
|
Zitat
|