在使用awt的image時候,不是能時時擷取到映像的寬和高,
GetWidth()函數偶爾得到的值為-1,暫時沒有找到解決方案。
代碼:
public class picture extends JFrame { ImageIcon icon = new ImageIcon();Image image;// =Toolkit.getDefaultToolkit().getImage("D:\\DataSet\\CNN\\YoloV1\\hunt.jpg"); picture( String imagepath ) {//constructor image = Toolkit.getDefaultToolkit().getImage(imagepath); //ImageObserver obj = new ImageObserver(); int h =image.getHeight( null );//-1 int w =image.getWidth( null ); System.out.print("h:");System.out.print(h);System.out.printf(" \n"); System.out.print("w:");System.out.print(w);System.out.printf(" \n"); this.setSize( 800,480 ); this.setSize( w,h ); icon.setImage( image ); JButton button = new JButton(); button.setIcon(icon); this.getContentPane().add(button); this.setVisible(true); } picture( String imagepath ,int w, int h) {//constructor image = Toolkit.getDefaultToolkit().getImage(imagepath); //ImageObserver obj = new ImageObserver(); //int h =image.getHeight( null );//-1 //int w =image.getWidth( null ); System.out.print("h:");System.out.print(h);System.out.printf(" \n"); System.out.print("w:");System.out.print(w);System.out.printf(" \n"); //this.setSize( 800,480 ); this.setSize( w,h ); icon.setImage( image ); JButton button = new JButton(); button.setIcon(icon); this.getContentPane().add(button); this.setVisible(true); } }
使用方法:
使用初始化直接載入映像盡心一次顯示。怎麼重新整理呢。