Проблемы при повороте изображения - PullRequest
1 голос
/ 13 мая 2019

Я обычно задавал эти вопросы на испанском языке Stackoverflow, но мой вопрос не получил ответа.Так что я собираюсь попробовать на этом сайте в первый раз.У меня возникла проблема при повороте изображения на 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);
    }
}

Я видел другие вопросы в SO, связанные с моими, но, похоже, я делаю это правильно.Может быть, есть проблема при создании двух экземпляров graphics2D, я не уверен.¿Кто-нибудь может мне помочь?

...