您好,登錄后才能下訂單哦!
這篇文章主要介紹java如何實(shí)現(xiàn)動(dòng)態(tài)圖片效果,文中介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們一定要看完!
源碼
package forGame; import javax.imageio.ImageIO; import javax.swing.*; import java.awt.*; import java.awt.image.BufferedImage; import java.io.File; import java.io.IOException; //動(dòng)態(tài)效果 public class Demo_1 extends JFrame{ //背景 private BufferedImage bufferedImage; //窗體大小 private int width; private int height; //要繪制的動(dòng)態(tài)照片數(shù)組 private BufferedImage[] images = new BufferedImage[4]; //要繪制動(dòng)態(tài)圖中的那張 private BufferedImage image; //初始化 { if(bufferedImage == null){ try { bufferedImage = ImageIO.read(new File("src\\image\\背景.png")); for(int i = 1;i < images.length + 1;i ++) images[i - 1] = ImageIO.read(new File("src\\image\\大飛機(jī)爆炸" + i + ".png")); } catch (IOException e) { e.printStackTrace(); } } width = bufferedImage.getWidth(); height = bufferedImage.getHeight(); image = images[0]; } public Demo_1(){ super("動(dòng)態(tài)測(cè)試"); //設(shè)置窗口 setSize(width,height); setLocationRelativeTo(null); setResizable(false); setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); setVisible(true); //啟動(dòng)線程 MyThread myThread = new MyThread(); myThread.start(); } //雙緩沖繪制解決圖片閃爍問題 @Override public void paint(Graphics g) { Image image = this.createImage(width,height); Graphics gImage = image.getGraphics(); gImage.setColor(gImage.getColor()); gImage.fillRect(0,0,width,height); super.paint(gImage); //繪制背景 gImage.drawImage(bufferedImage,0 ,0 ,null ); //繪制動(dòng)態(tài)圖片 gImage.drawImage(this.image,0 ,100 ,null ); //最后繪制緩沖后的圖片 g.drawImage(image,0 ,0 , null); } private int num = 0;//images數(shù)組內(nèi)圖片索引 //線程內(nèi)部類 private class MyThread extends Thread{ @Override public void run() { while(true) { if(num <= 3) { image = images[num ++]; } else num = 0; repaint(); try { sleep(100);//每隔100毫秒重繪一次 } catch (InterruptedException e) { e.printStackTrace(); } } } } public static void main(String[] args) { new Demo_1(); } }
效果圖
以上是“java如何實(shí)現(xiàn)動(dòng)態(tài)圖片效果”這篇文章的所有內(nèi)容,感謝各位的閱讀!希望分享的內(nèi)容對(duì)大家有幫助,更多相關(guān)知識(shí),歡迎關(guān)注億速云行業(yè)資訊頻道!
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。