AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Multimedia Delphi Zeichnen einer Linie im 45° Winkel

Zeichnen einer Linie im 45° Winkel

Ein Thema von 1ceman · begonnen am 21. Dez 2005 · letzter Beitrag vom 22. Dez 2005
 
1ceman

Registriert seit: 16. Dez 2005
Ort: Odenthal
134 Beiträge
 
Delphi 6 Personal
 
#1

Zeichnen einer Linie im 45° Winkel

  Alt 21. Dez 2005, 16:04
Ich hab nen kleines GrafikProgramm geschrieben, mit dem man Linien,Dreiecke,Rechtecke,Quadrate,
Ellipsen usw. zeichnen kann.Man kann die Objekte so aufziehen, also man sieht immer wie die Linie oder so
aussieht, während man sie zieht. So jetzt möchte ich, das wenn man shift drückt, während man nen Linie zieht,
dass die Linien nur um 45° Winkel gezeichnet werden(so wie bei Photoshop).
Das Zeichnen der Linie funktioniert so, man klickt irgendwo hin, was der Startpunkt ist und man lässt die Maus dann
gedrückt und zieht die Linie hinter sich her.
ich hab mir das dann so überlegt, das ich überprüfen muss, in welchem Winkel die Linie zum Startpunkt ist.

Delphi-Quellcode:
if ssShift in Shift
then begin
if (SP.X=X) or (radtodeg(ArcSin((X-SP.X)/(Y-SP.Y)))<=45)
then EP:=Point(SP.X,Y);
end
else EP:=Point(X,Y);
(SP=StartPunkt, der wird beim klick gesetzt(OnMouserDown))

das geht auch so schon nen bissl,wenn man vom Startpunkt aus die Maus senkrecht nach unten bewegt oder nen bissl
schräg recht nach unten.Das Problem ist nur, dass der wenn man die Maus zuweit
vom StartPunkt aus nach schräg rechts unten verschiebt nen Fehler 'Invalid Floating Point Operation' ausgibt.

//Edit: Ein Punkt an dem es net geht wäre (153/153) und als Startpunkt(48/48)
Roman
  Mit Zitat antworten Zitat
 

Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

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 00:22 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