Java 旋转图像时出现的问题

Java 旋转图像时出现的问题,java,swing,user-interface,image-rotation,Java,Swing,User Interface,Image Rotation,我通常用西班牙语问这些问题,但我的问题没有得到回答。所以我将第一次尝试这个网站。我在Java上旋转图像时遇到了一个问题(图像从未绘制,第一次paintComponent(…)调用也没有绘制) img2已绘制,但我要旋转的图像img没有绘制。这是我第一次使用BufferedImage。我看过一些例子,但也许这就是问题所在 我真的不知道哪个是错误。我的代码如下: @Override public void paintComponent(Graphics g){ super.paintComp

我通常用西班牙语问这些问题,但我的问题没有得到回答。所以我将第一次尝试这个网站。我在Java上旋转图像时遇到了一个问题(图像从未绘制,第一次
paintComponent(…)
调用也没有绘制)

img2
已绘制,但我要旋转的图像
img
没有绘制。这是我第一次使用
BufferedImage
。我看过一些例子,但也许这就是问题所在

我真的不知道哪个是错误。我的代码如下:

@Override
public void paintComponent(Graphics g){
    super.paintComponent(g); 
    Graphics2D g2d = (Graphics2D) g;
    Graphics2D g2d1 = (Graphics2D) g;
    Image img2 = new ImageIcon(getClass().getResource("/imagenes/fondoMapaPirata(Prueba).jpg")).getImage();
    g2d.drawImage(img2, 30, 30, this); 
    BufferedImage img;
    try {
        img = ImageIO.read(new URL("/imagenes/canon(Prueba).jpeg"));
        g2d1.rotate(alfa);
        double locationX = img.getWidth(this) / 2;
        double locationY = img.getHeight(this) / 2;
        AffineTransform tx = AffineTransform.getRotateInstance(alfa, locationX, locationY);
        AffineTransformOp op = new AffineTransformOp(tx, AffineTransformOp.TYPE_BILINEAR);
        g2d1.drawImage(op.filter(img, null), 335, 730, this); 
    } catch (MalformedURLException ex) {
        Logger.getLogger(PanelCanon.class.getName()).log(Level.SEVERE, null, ex);
    } catch (IOException ex) {
        Logger.getLogger(PanelCanon.class.getName()).log(Level.SEVERE, null, ex);
    }
}

我已经看到了与我的问题如此相关的其他问题,但似乎我正在以一种正确的方式做这件事。我不确定,创建两个graphics2D实例时可能会出现问题。有人能帮我吗?

你有什么例外?什么也没画。旋转前画过吗?为了得到更好的帮助,请尽快发布一个适当的帖子。我们无法访问您的图像,请以其中一个图像为例,在您的应用程序中对其进行热链接。为什么您有两个图形2D引用到同一对象?1)为什么不在旋转图像之前尝试绘制图像,看看是否有效,然后您就会知道是否找不到图像或错误是什么。2) 发布一个适当的3)尝试和4)不要使用浏览器的
后退按钮来编辑您的问题,因为它会删除其他人所做的编辑。您得到的例外是什么?没有绘制任何内容。在旋转之前是否绘制了该问题?为了得到更好的帮助,请尽快发布一个适当的帖子。我们无法访问您的图像,请以其中一个图像为例,在您的应用程序中对其进行热链接。为什么您有两个图形2D引用到同一对象?1)为什么不在旋转图像之前尝试绘制图像,看看是否有效,然后您就会知道是否找不到图像或错误是什么。2) 发布一个适当的3)尝试和4)不要使用浏览器的
后退按钮来编辑您的问题,因为它会带走其他人所做的编辑。