Ich habe eine einfache Klasse, die ein Diagramm darstellt, und es zeichnet derzeit nur Linien. Ich bin gerade dabei, Liniendefinitionen vor dem Zeichnen abzufangen und ihre Punkte zu ändern, aber jetzt möchte ich komplexere Formen mit mehr als nur Punktdefinitionen hinzufügen. Ich weiß über affinetransform, aber ich bin mir nicht sicher, wie man es benutzt. Ich möchte eine Transformation äquivalent zu:Einfache Punkt Transformation (Graphics2D)
private Point transform(PlasmaPoint2D plasmaPoint2D) {
double x = plasmaPoint2D.getX();
double y = plasmaPoint2D.getY();
Point p = new Point();
p.setLocation(x * this.gridScale/this.scale + this.gridScale, y * this.gridScale/this.scale + this.gridScale);
return p;
}
(Wo PlasmaPoint2D ist meine eigene, unveränderlich, Version Point2D). gridScale ist eine Instanzvariable, die die Anzahl der Pixel zwischen jeder Rasterlinie angibt, und scale ist die Anzahl der Einheiten, die von einer einzelnen Rasterbox dargestellt werden.
Ich bin nicht sicher, wie dies in AffineTransform zu implementieren, so dass jede Hilfe geschätzt wird.
Affine (getRotateInstance() verwendet wird) nicht Bewegen Sie die Punkte selbst, es teilt einem Grafikobjekt mit, wie die Punkte mit einer Drehung gezeichnet werden. –
Gibt es eine Möglichkeit, ein Bewegungspunktverhalten festzulegen? –
Linien und Bögen. Ich wäre bereit, herauszufinden, wie ich diese einfach umwandeln kann, aber ich hätte lieber eine allgemeine Lösung. –