连续帧图片显示动画(Java)
来源:互联网 发布:股票大数据分析软件 编辑:程序博客网 时间:2024/06/14 12:46
原理很简单,用Gif图片的连续几帧图片,在JPanel中画出来,显示出动态图效果
package multi_media;import java.awt.Graphics;import java.awt.Image;import java.io.File;import java.net.URI;import java.util.ArrayList;import java.util.List;import javax.imageio.ImageIO;import javax.swing.JFrame;import javax.swing.JPanel;public class MyDraw extends JPanel{/** * */private static final long serialVersionUID = 1L;private int curPic;private int allPic;private int picHeight;private int picWidth;private List<Image> images;public MyDraw() {try{final URI dir = getClass().getResource(".").toURI();String [] files = new File(dir).list();images = new ArrayList<Image>();for(String file : files) {if(file.toLowerCase().endsWith(".gif")) {Image i = ImageIO.read(new File(new File(dir), file));images.add(i);if(picHeight == 0 || picWidth == 0) {picHeight = i.getHeight(this);picWidth = i.getWidth(this);}}}allPic = images.size();}catch(Exception e) {e.printStackTrace();}}@Overrideprotected void paintComponent(Graphics g) {// TODO Auto-generated method stubsuper.paintComponent(g);if(images == null || images.size() == 0) {return ;}//System.out.println(allPic);g.drawImage(images.get(curPic), 0, 0, this);curPic++;if(curPic == allPic)curPic = 0;}public static void main(String[] args) {JFrame f = new JFrame();MyDraw d = new MyDraw();f.add(d);f.setSize(d.picWidth, d.picHeight);f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);f.setVisible(true);while(true) {try {Thread.sleep(100);} catch (InterruptedException e) {// TODO Auto-generated catch blocke.printStackTrace();}d.repaint();}}}
0 0
- 连续帧图片显示动画(Java)
- GTK显示GIF、GTK动画(图片连续播放)
- 图片连续切换动画Demo
- qt程序实现多个图片连续显示效果像动画一样
- 【java】java显示会动的图片(类似于动画)
- java实现gif动画效果(java显示动态图片)
- 多张图片整合成连续动画
- 多张图片合成连续动画
- 多张图片连续动画实现
- 利用UIImageView连续播放图片动画效果
- IOS 连续图片组成的动画
- 帧动画显示drawable文件夹下的指定图片
- Java图片水波动画
- 连续动画
- 多张图片整合成连续动画的代码
- 多张图片合成连续动画实现(IOS)
- 多张图片整合成连续动画的代码
- ios多张图片整合成连续动画的代码
- Score Inflation_usaco3.1.2_dp
- 文章标题
- 在intellij上配置go开发环境
- linux下mysql开启远程访问权限及防火墙开放3306端口
- VS快捷键大全(总结了一些记忆的口诀)
- 连续帧图片显示动画(Java)
- CSS(2)伪元素、盒子模型
- nginx学习——从基本hash表到支持通配符的hash表(上)
- Fedora下快速搭建编译环境
- cocos2d-x-3.0学习笔记之用户事件机制
- caffe环境配置
- createSQLQuery与createQuery的区别
- 自定义View之TypedArray与obtaiStyledAttributes简单分析
- 高斯消元枚举自由元——poj1222