我将旋转JXImagePanel。应该有可能-这是关于JXImagePanel的信息:


Swing :: JXImagePanel


使用JLabelJButton可以轻松地将图像添加到Swing应用程序中,
JXImagePanel使您可以轻松地将任何BufferedImageIcon添加到您的Swing应用程序。

如果可编辑,它还为用户提供了一种更改图像的方法。此外,JXImagePanel提供了许多内置的内置效果,
包括TilingScalingRotatingCompositing等。

但是,我不知道该怎么做。目前,我的代码段是:

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起,将软件包设为私有,因为它仍在内部使用),因此最好不要使用,将很快删除。

相反,在代码片段中使用带有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/

10-09 19:16