Results 1 to 4 of 4
- 12-10-2008, 10:40 PM #1Echilon Guest
AffinedTransform strange behaviour
I'm trying to rotate a shape around a point, but I'm having a problem. To give this some context - it's for a game. The transform is applied and the image is drawn, then green rectangle is drawn, then the transform is reset. When I try to use newTrans.createTransformedShape() to transform the red rectangle, I get the blue rectangle (which should actually overlap the green one).
A picture speaks a thousand words, but if this contradicts forum rules please remove the link - hxxp://mi6.nu/transform.png
Shouldn't applying a transform, drawing a shape and resetting the transform have the same effect as using createTransformedShape() with the original transform?
AffineTransform origTrans = g.getTransform(), newTrans = (AffineTransform)origTrans.clone(); newTrans.rotate(rotationAngle, location.x+(image.getWidth()/2), location.y+(image.getHeight()/2)); g.setTransform(newTrans); g.drawImage(image, (int)location.x, (int)location.y, null); g.setColor(Color.green); g.draw(new Rectangle2D.Double(location.x, location.y, image.getWidth(), image.getHeight())); g.setTransform(origTrans); Shape bounds = newTrans.createTransformedShape(new Rectangle2D.Double(location.x, location.y, image.getWidth(), image.getHeight())); g.setColor(Color.blue); g.draw(bounds); g.setColor(Color.red); g.draw(new Rectangle2D.Double(location.x, location.y, image.getWidth(), image.getHeight()));
- 12-11-2008, 08:30 AM #2
- 12-11-2008, 10:28 AM #3Echilon Guest
Thanks for pointing that out, but I have a problem and I'm trying to find a solution. Do you have any idea why it's behaving like this?
- 12-11-2008, 10:58 AM #4
- By little_polarbear in forum New To JavaReplies: 4Last Post: 08-26-2008, 12:45 AM
- By Tamir in forum EclipseReplies: 1Last Post: 08-18-2008, 10:44 PM
- By willemjav in forum New To JavaReplies: 5Last Post: 08-11-2008, 10:31 PM
- By cbalu in forum AWT / SwingReplies: 1Last Post: 05-23-2008, 10:23 PM
- By adoorsarath in forum Advanced JavaReplies: 3Last Post: 08-10-2007, 06:02 PM