Wie zeichne ich einen Kreis mit vorgegebenen X- und Y-Koordinaten als Mittelpunkt des Kreises?
Entwickelt ich einer Telekommunikations-Anwendung für das lokalisieren der Signalstärken von den Türmen. Ich habe von java-swing und ich habe da ein problem beim zeichnen der Kreis um den gegebenen Punkt des Handy-signal-transmitter tower Standort. Ich habe es schon berechnet die X -, Y-Koordinaten) und auch den radius-Wert.
Finden Sie den folgenden code, die ich verwendet habe, zu zeichnen den Kreis, und es ist haben Probleme.
JPanel panelBgImg = new JPanel() {
public void paintComponent(Graphics g) {
g.drawOval(X, Y, r, r);
}
}
Die Frage ist, schafft es der Kreis, aber es nicht die X-und Y-Koordinaten als Mittelpunkt. Es nahm die X-und Y-Koordinaten als den linken oberen Punkt des Kreises.
Könnte jemand bitte helfen Sie mir zeichnen Sie den Kreis durch die gegebenen X-und Y-Koordinaten wie der Mittelpunkt des Kreises.
InformationsquelleAutor der Frage | 2013-10-15
Du musst angemeldet sein, um einen Kommentar abzugeben.
Den
fillOval
passt ein oval innerhalb eines Rechteckswith width=r, height = r
erhalten Sie einen Kreis.Wenn Sie möchten
fillOval(x,y,r,r)
zeichnen Sie einen Kreis mit dem Mittelpunkt (x,y) müssen Sie verdrängen das Rechteck durch die halbe Breite und halbe Höhe.Zieht einen Kreis mit dem Mittelpunkt im
x,y
InformationsquelleAutor der Antwort arynaq
So sind wir alle das gleiche tun zu Hause aus arbeiten?
Seltsam, wie Sie die meisten up-stimmten Antwort ist falsch. Denken Sie daran, ziehen/fillOval nehmen Sie Höhe und Breite als Parameter, nicht der radius. So richtig zu zeichnen und zentrieren Sie einen Kreis mit dem Nutzer-sofern x, y und radius Werte, die Sie tun würde, so etwas wie dieses:
InformationsquelleAutor der Antwort Justin
Ersetzen Sie Ihre Linie mit
Dies sollte die top-Links im Kreis die richtige place, um die center werden
(X,Y)
zumindest so lange, wie der Punkt
(X - r,Y - r)
hat beide Komponenten in Reichweite.InformationsquelleAutor der Antwort qaphla
ändern Sie können die X -, Y-Koordinaten und radius, was Sie wollen.
InformationsquelleAutor der Antwort Udeesha Induwara
InformationsquelleAutor der Antwort Andres Mitchell
InformationsquelleAutor der Antwort Farhad
beide Antworten sind falsch. es sollte lauten:
InformationsquelleAutor der Antwort johnny
Das einzige, was für mich gearbeitet:
InformationsquelleAutor der Antwort Kordian