AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Multimedia Delphi Windows GDI ArcTo: Tutorial
Thema durchsuchen
Ansicht
Themen-Optionen

Windows GDI ArcTo: Tutorial

Ein Thema von worker · begonnen am 17. Feb 2009 · letzter Beitrag vom 5. Feb 2013
Antwort Antwort
Seite 1 von 2  1 2      
worker
(Gast)

n/a Beiträge
 
#1

Windows GDI ArcTo: Tutorial

  Alt 17. Feb 2009, 15:57
Ja, genau: ich suche gleich ein ganzes Tutorial zu o.g. Funktion aus der GDI
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.
  Mit Zitat antworten Zitat
Benutzerbild von uligerhardt
uligerhardt

Registriert seit: 19. Aug 2004
Ort: Hof/Saale
1.746 Beiträge
 
Delphi 2007 Professional
 
#2

Re: Windows GDI ArcTo: Tutorial

  Alt 17. Feb 2009, 17:42
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.
Uli Gerhardt
  Mit Zitat antworten Zitat
worker
(Gast)

n/a Beiträge
 
#3

Re: Windows GDI ArcTo: Tutorial

  Alt 18. Feb 2009, 08:39
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 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

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

Edit: okay, nun hab' ich es Ist exakt das, was uligerhardt beschrieben hat; ich brauch es halt visuell, um es zu verstehen
  Mit Zitat antworten Zitat
Benutzerbild von uligerhardt
uligerhardt

Registriert seit: 19. Aug 2004
Ort: Hof/Saale
1.746 Beiträge
 
Delphi 2007 Professional
 
#4

Re: Windows GDI ArcTo: Tutorial

  Alt 18. Feb 2009, 09:19
Och, jetzt hab ich mühselig ein Bildchen gemalt...
Uli Gerhardt
  Mit Zitat antworten Zitat
worker
(Gast)

n/a Beiträge
 
#5

Re: Windows GDI ArcTo: Tutorial

  Alt 18. Feb 2009, 09:50
Das ist aber lieb - stell es ein, dann lösche ich den verlinkten Beitrag
  Mit Zitat antworten Zitat
Benutzerbild von uligerhardt
uligerhardt

Registriert seit: 19. Aug 2004
Ort: Hof/Saale
1.746 Beiträge
 
Delphi 2007 Professional
 
#6

Re: Windows GDI ArcTo: Tutorial

  Alt 18. Feb 2009, 10:08
Das lassen wir lieber. Wirklich hübsch ist es nicht geworden.
Uli Gerhardt
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.622 Beiträge
 
Delphi 12 Athens
 
#7

Re: Windows GDI ArcTo: Tutorial

  Alt 18. Feb 2009, 10:08
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.

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.
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
worker
(Gast)

n/a Beiträge
 
#8

Re: Windows GDI ArcTo: Tutorial

  Alt 18. Feb 2009, 10:26
Danke Detlef - aber wie gesagt: ich brauche es visuell. Erotische Geschichten tangieren mich auch nicht besonders
  Mit Zitat antworten Zitat
Nintendo

Registriert seit: 16. Feb 2009
82 Beiträge
 
#9

AW: Re: Windows GDI ArcTo: Tutorial

  Alt 5. Feb 2013, 09:20
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.

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.
  Mit Zitat antworten Zitat
Medium
Online

Registriert seit: 23. Jan 2008
3.686 Beiträge
 
Delphi 2007 Enterprise
 
#10

AW: Windows GDI ArcTo: Tutorial

  Alt 5. Feb 2013, 09:45
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.
"When one person suffers from a delusion, it is called insanity. When a million people suffer from a delusion, it is called religion." (Richard Dawkins)
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


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 20:17 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