旋转BufferedImage而不会丢失像素

时间:2014-11-25 15:47:39

标签: java swing rotation jframe bufferedimage

您好我试图在Java中旋转BufferedImage,但一切正常。这是我的代码:

public void RotateImageNDegrees(String angulo){
        AffineTransform tx = new AffineTransform();

        tx.rotate(Double.parseDouble(angulo), bimage.getWidth() / 2, bimage.getHeight() / 2);

        AffineTransformOp op = new AffineTransformOp(tx,
        AffineTransformOp.TYPE_BILINEAR);
        bimage = op.filter(bimage, null); 

        drawImageInFrame(bimage);   //Use bimage width and height to paint in a Frame
}

方法" drawImageInFrame(bimage);"使用bimage宽度和高度绘制图像以设置JFrame的大小。

这就是它的回报:

http://i61.tinypic.com/2ic3590.jpg

但我需要的是:

http://i59.tinypic.com/14l7wuu.jpg

谢谢大家= D

1 个答案:

答案 0 :(得分:1)

只是一个猜测,但你可能不得不在每一侧重新调整帧的大小(高度^ 2 +宽度^ 2)以容纳整个图像,因为它似乎在一个帧中显示图像这仍然是未旋转图像的宽度和高度。但是我自己没试过。