Autor Téma: tCanvas.Arc - divný výstup  (Přečteno 89 krát)

Offline vandrovnik

  • Plnoletý
  • ***
  • Příspěvků: 209
  • Karma: 1
    • Verze Delphi: 10.2, 10.1, XE6, 6, 5
tCanvas.Arc - divný výstup
« kdy: 15-05-2017, 17:07:37 »
Ahoj,

při použití tCanvas.Arc se mi někdy oblouk vykresluje o dost jinak, než bych čekal - nejlépe to je asi vidět na přiloženém obrázku. Očekával bych, že oblouk povede od jedné zelené čáry k druhé, místo toho se ale vykreslí ještě podivný oblouček za tou čárou definující počátek oblouku.

Pro vykreslení testovacího obrázku jsem použil:

Kód: Delphi [Vybrat]
  1. procedure TMainForm.pxNahledPaint(Sender: TObject);
  2.  const m=2;
  3.        d=1; // i pro d=32 je problem videt
  4.        x1=-6792*m div d;
  5.        y1=325*m div d;
  6.        x2=7641*m div d;
  7.        y2=14759*m div d;
  8.        x3=475*m div d;
  9.        y3=326*m div d;
  10.        x4=93*m div d;
  11.        y4=333*m div d;
  12.        xs=(x1+x2) div 2;
  13.        ys=(y1+y2) div 2;
  14.  var Platno:tCanvas;
  15.  begin
  16.  Platno:=pxNahled.Canvas;
  17.  Platno.Pen.Color:=clLime;
  18.  Platno.MoveTo(xs, ys);
  19.  Platno.LineTo(x3, y3);
  20.  Platno.MoveTo(xs, ys);
  21.  Platno.LineTo(x4, y4);
  22.  Platno.Pen.Color:=clBlack;
  23.  Platno.Arc(x1, y1, x2, y2, x3, y3, x4, y4);
  24. end;
  25.  


Nevidíte v tom někdo nějakou botu? Popř. udělá to u vás stejně špatně (přikládám i testovací projekt)? Zkoušeno na Win 10 64bit, 1607.

Díky, Karel


 

S rychlou odpovědí můžete používat BB kódy a emotikony jako v běžném okně pro odpověď, ale daleko rychleji.

Jméno: E-mail:
Ověření:
Kolik je šest plus čtyři (slovem):