Ich muss die Koordinaten von jedem Satz von Koordinaten in einem Path2D-Objekt erhalten, aber ich weiß nicht wie. Zuvor verwendeten wir Polygone. Daher konnte ich zwei Arrays der Länge Polygon.npoints
initialisieren und sie dann als Polygon.xpoints
und Polygon.ypoints
Arrays festlegen. Nun, da wir Path2D-Objekte verwenden, habe ich keine Ahnung, wie das geht, weil ich scheinbar nur einen PathIterator initialisiere, der ein Array als Eingabe nimmt und Segmente zurückgibt? Kann jemand erklären, wie man alle Koordinatenpaare eines Path2D-Objekts erhält?Die Koordinatenpaare eines Path2D-Objekts in Java abrufen?
0
A
Antwort
2
Unten ist ein Beispiel, wie Sie alle Segmente erhalten und Koordinatenpaare eines PathIterator
:
Sie die PathIterator
nennen ‚s currentSegment
Verfahren wiederholt. Bei jedem Aufruf erhalten Sie die Koordinaten eines Segments. Beachten Sie insbesondere, dass die Anzahl der Koordinaten vom Segmenttyp abhängt (der Rückgabewert, den Sie von der Methode currentSegment
erhalten haben).
public static void dump(Shape shape) {
float[] coords = new float[6];
PathIterator pathIterator = shape.getPathIterator(new AffineTransform());
while (!pathIterator.isDone()) {
switch (pathIterator.currentSegment(coords)) {
case PathIterator.SEG_MOVETO:
System.out.printf("move to x1=%f, y1=%f\n",
coords[0], coords[1]);
break;
case PathIterator.SEG_LINETO:
System.out.printf("line to x1=%f, y1=%f\n",
coords[0], coords[1]);
break;
case PathIterator.SEG_QUADTO:
System.out.printf("quad to x1=%f, y1=%f, x2=%f, y2=%f\n",
coords[0], coords[1], coords[2], coords[3]);
break;
case PathIterator.SEG_CUBICTO:
System.out.printf("cubic to x1=%f, y1=%f, x2=%f, y2=%f, x3=%f, y3=%f\n",
coords[0], coords[1], coords[2], coords[3], coords[4], coords[5]);
break;
case PathIterator.SEG_CLOSE:
System.out.printf("close\n");
break;
}
pathIterator.next();
}
}
Sie können diese Methode für jede Shape
Dumping (und damit auch für seine Implementierungen wie Rectangle
, Polygon
, Ellipse2D
, Path2D
, ...)
Shape shape = ...;
dump(shape);
Verwandte Themen
- 1. SciPy interp2D für Koordinatenpaare
- 2. Fehler beim Abrufen eines Index eines Arrays in Java
- 3. Wie kombiniere ich die Koordinatenpaare eines Arrays zu einem einzigen Index?
- 4. Abrufen der Betriebssystemversion eines Netzwerkterminals (JAVA)
- 5. Java: Abrufen eines Dateiobjekts aus einem ZipEntry
- 6. UDP Portnummer eines anderen Peers abrufen (Java)
- 7. Abrufen eines Java-Objekt nach dem Attribut
- 8. Java nio, alle Unterordner eines Ordners abrufen
- 9. Die Änderungsliste eines Ordners abrufen
- 10. Verwenden eines Scanners zum Abrufen eines Dateinamens JAVA
- 11. Java - Abrufen eines OutOfMemoryError beim Analysieren eines ZipInputStreams
- 12. Java: Transformieren von Koordinaten von einem System in ein anderes, wenn 2 Koordinatenpaare bekannt sind
- 13. Abrufen eines PrivateKey-Objekts aus einer .p12-Datei in Java
- 14. Abrufen der RAM/CPU-Auslastung eines bestimmten Prozesses in Java
- 15. Java Reflection - Wert eines Feldes in verschachtelten Klassen abrufen
- 16. Abrufen eines Elements nach Index in der Java-Verkettungsliste
- 17. Dateipfad in Java abrufen
- 18. Abrufen eines Dokuments mit MongoDB MongoClient in Java 8
- 19. Abrufen eines geordneten Wertepaars
- 20. Warum gibt distHaversine NaN für einige Koordinatenpaare zurück?
- 21. Können wir die Anrufdetails eines iPhone abrufen?
- 22. Array aus MongoDB in Java abrufen
- 23. Abrufen des Standardstammverzeichnisses in Java
- 24. Abrufen eines Zeitplanauftrags in Laravel
- 25. Abrufen des Laufwerksnamens in Java
- 26. Matlab abrufen Ergebnis in Java
- 27. Wie Garn die Protokolle programmatisch java abrufen
- 28. Abrufen des Verzeichnisnamens in Java
- 29. Die Position eines Objekts im Koordinatensystem eines anderen Objekts abrufen
- 30. Den RunNotifier eines JUnitCore abrufen