AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

MoveTo/LineTo

Ein Thema von brechi · begonnen am 8. Apr 2015 · letzter Beitrag vom 8. Apr 2015
Antwort Antwort
brechi

Registriert seit: 30. Jan 2004
823 Beiträge
 
#1

AW: MoveTo/LineTo

  Alt 8. Apr 2015, 10:31
Edit:
Man kann den vorletzten Punkt nochmal zeichnen (als letzten) dann geht das denke ich auch mit dickeren Linien.


Ich bekomm es aber z.B. nicht hin einen symmetrischen 2-Pixel breiten Kreis zu zeichnen:


Delphi-Quellcode:
  Canvas.Pen.Width := 1;
  x := 2;
  Canvas.MoveTo(150 - x, 150);
  Canvas.LineTo(150 + x, 150);
  Canvas.LineTo(150 - x, 150);

  Canvas.MoveTo(150, 150 - x);
  Canvas.LineTo(150, 150 + x);
  Canvas.LineTo(150, 150 - x);

  x := 5;
  Canvas.Pen.Width := 2;
  Canvas.Brush.Style := bsClear;
  Canvas.Ellipse(150 - x, 150 - x, 150 + x + 1, 150 + x + 1);

Geändert von brechi ( 8. Apr 2015 um 10:38 Uhr)
  Mit Zitat antworten Zitat
Popov
(Gast)

n/a Beiträge
 
#2

AW: MoveTo/LineTo

  Alt 8. Apr 2015, 11:57
Das Fadenkreuz bekommst du schon hin, nur solltest du MoveTo immer zurückstellen

Delphi-Quellcode:
  Canvas.MoveTo(100, 100);
  Canvas.LineTo(100 - x, 100);
  Canvas.MoveTo(100, 100);
  Canvas.LineTo(100 + x, 100);
  Canvas.MoveTo(100, 100);
  Canvas.LineTo(100, 100 - x);
  Canvas.MoveTo(100, 100);
  Canvas.LineTo(100, 100 + x);
Wieso gibt es aber Probleme wenn man es normal macht? Ich denke das Problem liegt am Pinsel, denn auch wenn du nur eine 1 Pixel breite Linie zeichnest, wird es intern vermutlich (ich weiß es nicht, es erscheint mir nur logisch) mit einem 1 Pixel breitem Pinsel gezeichnet. Und der wird evtl. berechnet, wodurch sich Rundungsfehler ergeben können.
  Mit Zitat antworten Zitat
Bjoerk

Registriert seit: 28. Feb 2011
Ort: Mannheim
1.384 Beiträge
 
Delphi 10.4 Sydney
 
#3

AW: MoveTo/LineTo

  Alt 8. Apr 2015, 12:34
Meines Wissens zeichnet LineTo bis zum Pixel (im Gegensatz zu Rectangle und Co.)?

Edit: Mit LineTo können Sie eine Line von PenPos zum Punkt (X,Y) ziehen. Der Zielpunkt selbst gehört jedoch nicht mehr zur Linie. LineTo ändert den Wert von PenPos in (X,Y). Die Linie wird mit dem aktuellen Stift gezeichnet. Anmerkung: Wenn der aktuelle Stift nicht den Stil psSolid hat, wird die Linie mit dem Hintergrund gezeichnet, den der aktuelle Pinsel vorgibt.

Geändert von Bjoerk ( 8. Apr 2015 um 15:00 Uhr) Grund: Edit
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 10:17 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz