java实现动态图片效果

网友投稿 228 2023-01-25

java实现动态图片效果

本文实例为大家分享了java实现动态图片效果,供大家参考,具体内容如下

源码

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;

//动态效果

public class Demo_1 extends JFrame{

//背景

private BufferedImage bufferedImage;

//窗体大小

private int width;

private int height;

//要绘制的动态照片数组

private BufferedImage[] images = new BufferedImage[4];

//要绘制动态图中的那张

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\\大飞机爆炸" + i + ".png"));

} catch (IOException e) {

e.printStackTrace();

}

}

width = bufferedImage.getWidth();

height = bufferedImage.getHeight();

image = images[0];

}

public Demo_1(){

super("动态测试");

//设置窗口

setSize(width,height);

setLocationRelativeTo(null);

setResizable(false);

setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

setVisible(true);

//启动线程

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(http://gImage);

//绘制背景

gImage.drawImage(bufferedImage,0 ,0 ,null );

//绘制动态图片

gImage.drawImage(this.image,0 ,100 ,null );

//最后绘制缓冲后的图片

g.drawImage(image,0 ,0 , null);

}

private int num = 0;//images数组内图片索引

//线程内部类

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();

}

}

效果图

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:免费api汇率查询接口(支持api交易的外汇平台)
下一篇:java实现播放背景音乐
相关文章

 发表评论

暂时没有评论,来抢沙发吧~