Einzelnen Beitrag anzeigen

Benutzerbild von stahli
stahli

Registriert seit: 26. Nov 2003
Ort: Halle/Saale
4.343 Beiträge
 
Delphi 11 Alexandria
 
#1

Canvas - gleichschenkliches gefülltes Dreieck

  Alt 30. Mai 2015, 20:03
Ich zeichne auf einen Canvas ein Dreieck.


Delphi-Quellcode:
procedure TTest.PaintBackground(aGui: TsoGui; aBitmap: TBitmap;
  aRect: TRect);
const
  Size = 5;
var
  A: TPoint;
  B: TPoint;
  C: TPoint;
  X, Y, S: Integer;
begin
  ...

  aBitmap.Canvas.Brush.Color := clGray;
  aBitmap.Canvas.Pen.Color := clBlack;

  X := aRect.Left + (aRect.Width div 2);
  Y := aRect.Top + (aRect.Height div 2);
  S := (Size div 2);
  
  ...
  
  A := Point(X - S, Y - S);
  B := Point(X + S, Y - S);
  C := Point(X, Y + S);

  ...

  aBitmap.Canvas.Polygon([A, B, C]);
end;
Das Dreieck ist aber nicht symmetrisch.
Zuerst lege ich einen Mittelpunkt fest und dann die Entfernung um den Mittelpunkt.
Es wird von LinksOben nach RechtsOben, dann nach UntenMitte gezogen und dann zurück nach LinksOben.

Nach meinem Verständnis sollte das Dreieck damit symmetrisch aussehen, was es aber nicht ist.

Muss man das irgendwie anders lösen?
Miniaturansicht angehängter Grafiken
dreieck.png  
Stahli
http://www.StahliSoft.de
---
"Jetzt muss ich seh´n, dass ich kein Denkfehler mach...!?" Dittsche (2004)

Geändert von stahli (30. Mai 2015 um 20:06 Uhr)
  Mit Zitat antworten Zitat