Autor Beitrag
Blackheart666
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 2195

XP
D3Prof, D6Pers.
BeitragVerfasst: So 01.10.06 18:45 
Hallo Leute !
Ich hab Mich noch nicht soviel mit Canvas beschäftigt und hätte dazu mal eine Frage.
Schwer zu erklären, Ich wollte in der Mitte ein auf die Spitze gestelltes Quadrat und den Rest damit es wieder Quadratisch ist mit Dreiecken auffüllen (Wie beim Diagonal Fliesen).
Hab jetzt mal angefangen das alles mit Dreiecken zu lösen und die Mittellinie im Quadrat überzeichnet.
Könnte man soetwas noch einfacher lösen.
Unten mal der Quelltext (angefangen) und ein Screenshot.
Blackmetal666
ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
procedure TForm1.Button1Click(Sender: TObject);
var
  P : array [0..2of TPoint;
begin
  Canvas.Brush.Color := clred;
  Canvas.Pen.Width   := 2;
  Canvas.Pen.Color   := clBlack;
  P[0] := Point(180,50);
  P[1] := Point(50,180);
  P[2] := Point(310,180);
  Canvas.Polygon(P);

  P[0] := Point(180,310);
  P[1] := Point(50,180);
  P[2] := Point(310,180);
  Canvas.Polygon(P);

  P[0] := Point(440,310);
  P[1] := Point(310,180);
  P[2] := Point(180,310);
  Canvas.Polygon(P);

  Form1.Canvas.Pen.Color:= clred;
  Form1.Canvas.MoveTo(308,180);
  Form1.Canvas.LineTo(53,180);
end;
Einloggen, um Attachments anzusehen!
Lannes
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 2352
Erhaltene Danke: 4

Win XP, 95, 3.11, IE6
D3 Prof, D4 Standard, D2005 PE, TurboDelphi, Lazarus, D2010
BeitragVerfasst: So 15.10.06 14:24 
Hallo,
user profile iconBlackheart666 hat folgendes geschrieben:
...Ich wollte in der Mitte ein auf die Spitze gestelltes Quadrat und den Rest damit es wieder Quadratisch ist mit Dreiecken auffüllen...
dann reicht doch ein Quadrat auf das Du das auf die Spitze gestellte Quadrat zeichnest.

ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
var
  P : array [0..3of TPoint;
begin
  Canvas.Brush.Color := clred;
  Canvas.Pen.Width   := 2;
  Canvas.Pen.Color   := clBlack;
  Canvas.Rectangle(50,50,310+Canvas.Pen.Width,310+Canvas.Pen.Width);
  P[0] := Point(180,50);
  P[1] := Point(50,180);
  P[2] := Point(180,310);
  P[3] := Point(310,180);
  Canvas.Polygon(P);

_________________
MfG Lannes
(Nichts ist nicht Nichts) and ('' <> nil ) and (Pointer('') = nil ) and (@('') <> nil )
Blackheart666 Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 2195

XP
D3Prof, D6Pers.
BeitragVerfasst: So 22.10.06 20:15 
Danke Lannes, manchmal denkt man aber auch kompliziert.
Blackheart666

_________________
Blackheart666
Der Irrsinn ist bei Einzelnen etwas Seltenes, - aber bei Gruppen, Parteien, Völkern, Zeiten die Regel. (Friedrich Nietzsche)