我正在努力旋转加载的图像。我在JPanel上设置图形然后使用标准的AffineTransform来旋转它,比如45度。 不幸的是,如果图像超出了面板区域,则会切割图像。 如何强制JPanel添加滚动到自身(在加载图像文件时,我想通过添加滚动来调整JPanel的大小,而不调整JFrame的大小)。
或者,换句话说,如何正确旋转整个图像?
提前感谢您的回复!
答案 0 :(得分:1)
改为使用JScrollPane。
答案 1 :(得分:1)
您需要将面板放在jscrollPane中,然后确保正确设置preferredsize,以便滚动可用。
答案 2 :(得分:0)
好吧,我建议您不要在面板的paintComponent()方法中旋转图像,因为这会导致面板的首选大小发生变化,您不应该在paintComponent中设置首选大小(方法。
相反,你应该有一个rotate(...)方法。此方法将创建所需旋转的BufferedImage。然后你的paintComponent()方法只是绘制缓冲的图像。然后,您将根据旋转设置首选大小。
现在,关于旋转图像的首选尺寸,请查看此example。