1

ここに画像の説明を入力ここに画像の説明を入力画像を回転させようとしていますが、多少は機能しますが、正しく機能しないという問題があります。思うように回転していません。画像はいくつかのミックス編成で表示されています。

ボタンクリック時の私のコード:

RT90.addActionListener(new ActionListener() 
        {           
            @Override
            public void actionPerformed(ActionEvent arg0) 
            {
                degrees+=90;
                rotateIMG(degrees);
                repaint();
            }
        }); 

回転IMG() コード:

public void rotateIMG(double d)
    {
        BufferedImage b ;
        b=a;
        Graphics g;
        g=b.createGraphics();
        Graphics2D g2d = (Graphics2D)g;

        System.out.println(b.getWidth());
        System.out.println(b.getHeight());

        g2d.rotate(Math.toRadians(d), b.getWidth()/2, b.getHeight()/2);
        g2d.drawImage(b,0,0,null);

        ImageIcon rtimg = new ImageIcon(b);
        label.setIcon(rtimg);

    }

wrongこのコードに何が入っているか分かりますか? aこれは、画像スタックからロードされ、画像を表示するために使用されているバッファリングされた画像ですlabelJLabel

4

2 に答える 2

2

問題は、画像の一部がトリミングされていることです

回転したアイコンを確認してください。アイコンがさまざまな角度で回転されると、アイコンの正しいサイズが計算されます。

于 2013-08-16T15:40:26.230 に答える