Einzelnen Beitrag anzeigen

Popov
(Gast)

n/a Beiträge
 
#5

AW: Brauche Hilfe bei einer Übung

  Alt 23. Apr 2014, 23: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;
  Mit Zitat antworten Zitat