2017-07-03 34 views
0

私が試したコードが画像を回転しているが、私は垂直0傾きイメージをy軸に沿って回転させる方法は?

と360度で私が試しコードを地球を回転させるように画像を回転することRotatedIconクラスの

public class MainClass extends JPanel { 
    static ImageIcon icon = null; 
    static RotatedIcon rotate = null; 
    static JLabel label = null; 

    public MainClass() { 
     try { 
      BufferedImage wPic = ImageIO.read(this.getClass().getResource(
        "globe.png")); 
      icon = new ImageIcon(wPic); 
      rotate = new RotatedIcon(icon, 180); 

      label = new JLabel(rotate); 

     } catch (Exception e) { 
      System.out.println("raise exception"); 
     } 
    } 

    @Override 
    protected void paintComponent(Graphics g) { 
     super.paintComponent(g); 
     label.repaint(); 
    } 

    public static void main(String[] args) throws IOException, 
      InterruptedException { 
     MainClass mainClass = new MainClass(); 
     JFrame frame = new JFrame(); 
     mainClass.add(label); 
     frame.add(mainClass); 
     frame.setSize(500, 500); 
     frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); 
     frame.setVisible(true); 
     ActionListener taskPerformer = new ActionListener() { 
      int degree = 360; 

      public void actionPerformed(ActionEvent evt) { 

       rotate.setDegrees(degree); 
       degree = degree + 90; 
       label.repaint(); 

       mainClass.repaint(); 

      } 
     }; 
     Timer timer = new Timer(1000, taskPerformer); 
     // timer.setRepeats(false); 
     timer.start(); 
     Thread.sleep(5000); 
    } 
} 

https://tips4java.wordpress.com/2009/04/06/rotated-icon/参照リンクであります私は使用されました。 説明されているように画像は回転できますが、垂直ではありません。

+0

あなたが達成したい具体的な例を実際に与えるべきです。なぜなら、このクラスが行う回転は、あなたが主張するようにx軸の周りではなくアイコンの中心の周りにあるからです。だからあなたが達成したいことはかなり不明です。 –

+0

Y軸に沿って中心を一定に保ちながら地球儀を垂直に回転させるような意味です – JAVA

+0

[this](https://stackoverflow.com/questions/30587938/is-there-any-easy-way-to-rotate- z-axis-using-Java-without-jumping)を使用していますか? – Frakcool

答えて

1

世界のフラットな2D画像しかない場合は、Marquee Panelを使用すると効果的です。

Marquee Panelは画像をスクロールできるようになり、最後になると折り返すように設定できます。フラットな2D画像で世界中をスクロールする3Dエフェクトを購入することはできません。

関連する問題