Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   Verständnisfrage zur Pie() Funktion (https://www.delphipraxis.net/187223-verstaendnisfrage-zur-pie-funktion.html)

DualCoreCpu 9. Nov 2015 16:15

Verständnisfrage zur Pie() Funktion
 
Hallo,

Leider muss ich noch mal nerven. In diesem Thread hier:
http://www.delphipraxis.net/187210-e...ml#post1320849

hatte ich versucht, eine eigene Pie Funktion zu schreiben, aber inzwischen aufgegeben. Nicht nur, weil ich den Fahler nicht finde, sondern auch, weil ich im WinAPI Verständnis voran kommen will.

Laut MSDN liegt wie bei der Ellipse der Bogen eines Tortenstückes Pie innerhalb eines mit anzugebenden Rechteckes.

Nun meine Fragen:

In Luckies Demo befindet sich folgende Pie() Funktion:

Pie(WndDC, 300, 110, 500, 200, 310, 110, 200, 260);

Das ergibt folgendes Rechteck als Schablone für den Ellipsenbogen:

Leider kann ich hier in meinem ersten Beitrag keine Dateien mehr anhängen. Deshalb hole ich das in meinem nächten Folgebeitrag nach.

Der Mittelpunkt des Rechteckes und so auch der Ellipse liegt demnach bei:

Xm := ((500 - 300) div2) + 300

Xm := (200 div 2) + 300

Xm := 100 + 300

Xm = 400

Ym := ((260 - 110) div 2) + 110

Ym := (150 div 2) + 110

Ym := 75 + 110

Ym := 185

So weit, so gut.

Aber nach MSDN Doku sind die beiden letzten x,y Kooridinaten die Enddpunkte der Strahlen, faktisch die Schnittpunkte der Strahlen mit der Ellipse, die aber nach Definition innerhalb des Rechteckes liegt.

Aber der Endpunkt des Zweiten Strahles liegt außerhalb des die Ellipse umschließenden Rechteckes:

X = 200 ---> Kleiner als X = 300
Y = 260 ---> untere Kante des Rechteckes, ist nur im Punkt Xm,Ym Schnittpunkt zwischen Ellipse und Rechteck.

Warum wird dann dennoch das Tortenstück gezeichnet. Das MSDN sagt, in der Funktion werden keine Koordinatenanpassungen vorgenommen, heißt für mich, wenn die Koordinaten falsch sind, wird nichts gezeichnet.

Wo liegt hier mein Denkfehler.

Ich beziehe mich hier auf die Windows API Originalfunktion Pie().

[EDIT]
In meiner Vorschau wird das Rechteck korrekt angezeigt. Warum dann nicht im abgesendeten Beitrag?
[/Edit]

TiGü 10. Nov 2015 08:35

AW: Verständnisfrage zur Pie() Funktion
 
Du könntest mehr Resonanz zu deinen Beiträgen erhalten, wenn du ein paar Skizzen (ja, mit Paint oder so) anhängst und/oder Screenshots von Soll- und Ist-Zustand anhängst.
Anhand der textuellen Beschreibung will sich anscheinend keiner reindenken.

DualCoreCpu 10. Nov 2015 11:25

AW: Verständnisfrage zur Pie() Funktion
 
Liste der Anhänge anzeigen (Anzahl: 3)
Danke für den Hinweis, @TiGü. Den werd ich mal befolgen und hier die Skizze(n) anhängen. Leider kann ich das nicht mehr in meinem ersten Beitrag selber machen. Deshalb hier.Anhang 44186

Die Ellipsenbögen links in den beiden Bildern sind absichtlich so gezeichnet. Meine Frage bezieht sich auf das Tortenstück rechts in der Miniauransicht links mit dem Dateinamen Soll-Zustand. Rchts die Datei mit dem Namen Ist-Zustand.. Da werden nur die beiden Strahlen gezeichnet und davon der untere zu lang.

Onkel Bill hat doch die Pie Funktion auch hingekriegt, links in der Bilddatei Soll Zustand gut zu sehen. Warum kann ich das nicht auch mit einer eigen Funktion? Kopfkratz!


Alle Zeitangaben in WEZ +1. Es ist jetzt 21:19 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz