G
Gast
Gast
Versuche eine Linie zu zeichnen, die ihren Startpunkt im definierten Punkt hat, der Zielpunkt ist auf das Zentrum eines Rechteckes/Quadrates gerichtet. Jetzt will ich das Quadrate um 45° drehen, zu einer Raute. Die Linie soll jetzt genau bis zur Umrandung der Raute gezeichnet werden.
Von dem GeneralPath bekomme ich wohl kein getCenter, dann müsste ich noch den Radius zur Rauten-Umrandung herausbekommen?
Code:
Graphics2D g2 = (Graphics2D)g;
Rectangle2D.Double r = new Rectangle2D.Double(110,110,40,40);
double theta = Math.PI/4;
AffineTransform rotator = new AffineTransform();
rotator.rotate(theta, r.getCenterX(), r.getCenterY());
GeneralPath rgp = new GeneralPath(rotator.createTransformedShape(r));
Point2D.Double p1 = new Point2D.Double(0,0);
Point2D.Double p2 = new Point2D.Double(r.getCenterX(),r.getCenterY());
Line2D.Double line = new Line2D.Double(p1, p2);
g2.draw(rgp);
g2.draw(line);