[Delphi] Canvas

0

Czesc!
Jak mozna w canvasie narysować np.trojkat,pieciokat,ośmiokąt ??
Znacie jakąś dobrą stronke na ten temat ??

0

Canvas.LineTo(X, Y);
Canvas.MoveTo(X, Y); + minimalna znajomość maty + troszke pogłówkowania + f1.

0

Do rysowania wielokątów masz specjalną funkcję: Canvas.Polygon();

0

najlepsza strona o grafice (canvas) w Delphi http://www.efg2.com/Lab/index.html

0

Staraj się rzeczywiście używać metody Polygon(..); a jak chcesz mimo to użyć MovoTo(..), LineTo(..), to niżej napisałem Ci funkcję rysowania wielokątów foremnych.

procedure Wielokat(Canvas:TCanvas; X:integer; Y:integer; N:integer; R:integer; Tetha:extended);
var i:integer;
    ang:extended;
begin
Canvas.MoveTo(round(X+sin(PI*2+Tetha)*R), round(Y+cos(PI*2+Tetha)*R));
ang:=PI*2/N;
for i:=0 to N do
  Canvas.LineTo(round(X+sin(i*ang+Tetha)*R), round(Y+cos(i*ang+Tetha)*R));
end;

//Pięciokąt foremny, o środku (300,300), promieniu okręgu opisanego 150, obrocie 2 radiany:
Wielokat(Canvas, 300, 300, 5, 150, 2);

1 użytkowników online, w tym zalogowanych: 0, gości: 1