Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Multimedia (https://www.delphipraxis.net/16-multimedia/)
-   -   Delphi Windows GDI ArcTo: Tutorial (https://www.delphipraxis.net/129346-windows-gdi-arcto-tutorial.html)

worker 17. Feb 2009 14:57


Windows GDI ArcTo: Tutorial
 
Ja, genau: ich suche gleich ein ganzes Tutorial zu o.g. Funktion aus der GDI :mrgreen:
Naja, eine ausführliche Erläuterung würde es auch tun.

Ziel: Ich möchte eine Kurve zeichnen (und kein AngleArc benutzen).
Ich breche mir hier gerade die Finger, da ich die Parameter nicht verstehe.

Zitat:

BOOL ArcTo(
HDC hdc, // handle to device context
int nLeftRect, // x-coord of rectangle's upper-left corner
int nTopRect, // y-coord of rectangle's upper-left corner
int nRightRect, // x-coord of rectangle's lower-right corner
int nBottomRect, // y-coord of rectangle's lower-right corner
int nXRadial1, // x-coord of first radial ending point
int nYRadial1, // y-coord of first radial ending point
int nXRadial2, // x-coord of second radial ending point
int nYRadial2 // y-coord of second radial ending point
);
hdc, nLeftRect, nTopRect, nRightRect und nBottomRect leuchten mir ein.
Bei nXRadial1, nYRadial1, nXRadial2 und nYRadial2 fehlt es mir irgendwie an geometrischem Vorstellungsvermögen, oder an was auch immer; ich blicke es jedenfalls nicht.

Kennt jemand eine Seite, die das Ganze veranschaulicht, möglichst grafisch?

Danke.

uligerhardt 17. Feb 2009 16:42

Re: Windows GDI ArcTo: Tutorial
 
Malen will ich jetzt nix, aber so schwer ist das mit der Funktion gar nicht, WIMRE: DIE 4 Rect-Parameter beschreiben ein Rechteck, in das eine Ellipse gemalt wird. Die 4 Radial-Parameter geben 2 Punkte an, die zusammen mit dem Mittelpunkt des Rechtecks als Scheitel einen Winkel aufspannen, der aus der Ellipse herausgeschnitten wird. Das ist dann das, was auf dem Bildschirm auftaucht.

HTH,
Uli.

worker 18. Feb 2009 07:39

Re: Windows GDI ArcTo: Tutorial
 
Zitat:

Zitat von uligerhardt
Die 4 Radial-Parameter geben 2 Punkte an, die zusammen mit dem Mittelpunkt des Rechtecks als Scheitel einen Winkel aufspannen, der aus der Ellipse herausgeschnitten wird.

Ähm, genau :gruebel: :?: Darüber muss ich erstmal 'ne Woche schlafen. Kurz gesagt: ich kapiere es nicht. :(

Mag an meiner Erkältung liegen; glaube aber eher, dass es an meinem mangelnden mathematischen Verständnis liegt... Da dauert halt alles immer ein bissel länger als bei anderen :mrgreen:

Dennoch vielen Dank für Deine Antwort; wenigstens einer, der versucht, mir zu helfen ;)

Edit: okay, nun hab' ich es :-D Ist exakt das, was uligerhardt beschrieben hat; ich brauch es halt visuell, um es zu verstehen ;)

uligerhardt 18. Feb 2009 08:19

Re: Windows GDI ArcTo: Tutorial
 
Och, jetzt hab ich mühselig ein Bildchen gemalt... :D

worker 18. Feb 2009 08:50

Re: Windows GDI ArcTo: Tutorial
 
Das ist aber lieb - stell es ein, dann lösche ich den verlinkten Beitrag :zwinker:

uligerhardt 18. Feb 2009 09:08

Re: Windows GDI ArcTo: Tutorial
 
Das lassen wir lieber. Wirklich hübsch ist es nicht geworden. :lol:

DeddyH 18. Feb 2009 09:08

Re: Windows GDI ArcTo: Tutorial
 
In der Hilfe zum VCL-Pendant TCanvas.Arc steht es auch recht gut beschrieben.
Zitat:

Die Methode Arc zeichnet einen Bogen entlang der Peripherie einer Ellipse, die von dem angegebenen Rechteck umgeben wird.

Delphi-Quellcode:
procedure Arc(X1, Y1, X2, Y2, X3, Y3, X4, Y4: Integer);
Beschreibung

Mit der Methode Arc können Sie mit dem aktuellen Stift einen elliptischen Bogen zeichnen. Der Bogen liegt auf der Peripherie einer Ellipse, die durch die Koordinaten (X1,Y1) und (X2,Y2) definiert ist. Die Zeichnung verläuft gegen den Uhrzeigersinn und folgt vom Anfangs- bis zum Endpunkt der Peripherie der Ellipse. Der Anfangspunkt wird durch den Schnittpunkt der Ellipse mit einer Linie definiert, die durch den Mittelpunkt der Ellipse und durch den Punkt (X3,Y3) führt. Der Endpunkt wird durch den Schnittpunkt der Ellipse mit einer Linie definiert, die durch den Mittelpunkt der Ellipse und durch den Punkt (X4,Y4) führt.

worker 18. Feb 2009 09:26

Re: Windows GDI ArcTo: Tutorial
 
Danke Detlef - aber wie gesagt: ich brauche es visuell. Erotische Geschichten tangieren mich auch nicht besonders :mrgreen:

Nintendo 5. Feb 2013 08:20

AW: Re: Windows GDI ArcTo: Tutorial
 
Zitat:

Zitat von DeddyH (Beitrag 881725)
In der Hilfe zum VCL-Pendant TCanvas.Arc steht es auch recht gut beschrieben.
Zitat:

Die Methode Arc zeichnet einen Bogen entlang der Peripherie einer Ellipse, die von dem angegebenen Rechteck umgeben wird.

Delphi-Quellcode:
procedure Arc(X1, Y1, X2, Y2, X3, Y3, X4, Y4: Integer);
Beschreibung

Mit der Methode Arc können Sie mit dem aktuellen Stift einen elliptischen Bogen zeichnen. Der Bogen liegt auf der Peripherie einer Ellipse, die durch die Koordinaten (X1,Y1) und (X2,Y2) definiert ist. Die Zeichnung verläuft gegen den Uhrzeigersinn und folgt vom Anfangs- bis zum Endpunkt der Peripherie der Ellipse. Der Anfangspunkt wird durch den Schnittpunkt der Ellipse mit einer Linie definiert, die durch den Mittelpunkt der Ellipse und durch den Punkt (X3,Y3) führt. Der Endpunkt wird durch den Schnittpunkt der Ellipse mit einer Linie definiert, die durch den Mittelpunkt der Ellipse und durch den Punkt (X4,Y4) führt.

Ok, soweit klar. Was aber noch nicht klar ist, sind die Punkte X3,Y3 und X4,Y4.

Sind das die Schnittpunkte mit der Ellipse oder mit dem die Ellipse umspannenden Rechteck.

Wenn das die Schnittpunkte mit dem Ellipsenbogen sind, wo finde ich dann passende Ellipsengleichungen? Ich habe seit Turbopascal nichts mehr mit solchen Grafikfunktionen gemacht, weiß aber, das Turbo Pascal statt der Punkte X3,Y3 und X4,Y4 Anfangs und Endwinkel verlangt. Ich muss also Umdenken und statt Anfangs und Endwinkel ausdiesen beiden Winkeln die hier geforderten Punkte berechnen.

Medium 5. Feb 2013 08:45

AW: Windows GDI ArcTo: Tutorial
 
Die Punkte X3/Y3 und X4/Y4 geben jeweils einen Strahl (bzw. eher Vektor) vom Ellipsenmittelpunkt aus gesehen an. (Steht da ja schon.) Daher sind sie fast schon unmittelbar von/in einen Winkel umrechenbar.


Alle Zeitangaben in WEZ +1. Es ist jetzt 00:00 Uhr.
Seite 1 von 2  1 2      

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