drawRenderedImage(image,AffineTransform)。如何获得renderedImage的宽度和高度

时间:2010-07-06 10:04:32

标签: java

我在背景图像上绘制一个透明的渲染图像,然后显示在JPanel上。

我需要在缩放和旋转后获取渲染图像的边界。 所以,下次我打电话给重绘它可以 渲染图像的剪辑。

有什么想法吗?谢谢你的帮助。

@Override public void paintComponent(java.awt.Graphics g)
{
    if(g != null)
    {
        g.drawImage(backgroundImage, 0, 0, getWidth(), getHeight(), null);
        Graphics2D g2 = (Graphics2D)g.create();
        double cx = sprite.getWidth()  / 2.0;
        double cy = sprite.getHeight() / 2.0;
        AffineTransform at = AffineTransform.getTranslateInstance(xPos, yPos);
        at.concatenate(AffineTransform.getScaleInstance(scale, scale));
        at.rotate(theta, cx, cy);
        g2.drawRenderedImage(sprite, at);

        //get width and height of rendered image here?

        g2.dispose();
     }

1 个答案:

答案 0 :(得分:0)

这样的东西
Rectangle resizedBounds = at.createTransformedShape(sprite.getBounds()).getBounds();