作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我想旋转 JXImagePanel。这应该是可能的 - 这是关于 JXImagePanel
的:
虽然 JLabel
和 JButton
允许您轻松地将图像添加到您的 Swing 应用程序,JXImagePanel
使得向您的 Swing 应用程序添加任何 BufferedImage
或 Icon
变得轻而易举。
如果可编辑,它还为用户提供了一种更改图像的方法。此外,JXImagePanel
提供了许多开箱即用的内置效果,包括平铺
、缩放
、旋转
、合成
等。
但是,我不知道该怎么做。目前我的代码片段是:
bufferedImage = ImageIO.read(new File("image.png"));
image = new ImageIcon(bufferedImage).getImage();
tempImage = image.getScaledInstance(100, 150, Image.SCALE_FAST);
this.deskJXImagePanel.setImage(tempImage);
现在我想将它旋转 0-360
度。如何实现?
最佳答案
JXImagePanel 已弃用(实际上,从 1.6.2 开始将包设为私有(private),因为它仍在内部使用),所以最好不要使用,很快就会被删除。
相反,使用带有 ImagePainter 的 JXPanel 和应用于画家的任意 transformOp,代码片段如下:
JXPanel panel = new JXPanel();
ImagePainter image = new ImagePainter(myImage);
image.setFilters(
new AffineTransformOp(AffineTransform.getRotateInstance(-Math.PI * 2 / 8, 100, 100), null)
);
panel.setBackgroundPainter(image);
您可能需要玩一些才能获得您想要的确切效果。关于问题,您可能想尝试发布到 Swinglabs 论坛。
关于java - 如何旋转JXImagePanel?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6993467/
我是一名优秀的程序员,十分优秀!