📄 gifframe.java
字号:
package com.gameislive.browser;
import javax.microedition.lcdui.Image;
import java.util.Vector;
/**
* Gif帧管理器<br>
* Gif动画被拆成一帧一个Image对象,保存在Vector中<br>
* 播放时根据程序控制Gif动画的帧速率
*
* @author pan
*
*/
public class GifFrame {
/**
* 保存所有帧系列
*/
private Vector frames;
/**
* 当前帧
*/
private int index;
public GifFrame() {
frames = new Vector(1);
index = 0;
}
/**
* 添加一帧
* @param image
*/
public void addImage(Image image) {
frames.addElement(image);
}
public int size() {
return frames.size();
}
/**
* 返回当前帧的Image
* @return
*/
public Image getImage() {
if (size() == 0) {
return null;
} else {
return (Image) frames.elementAt(index);
}
}
/**
* 下一帧
*/
public void nextFrame() {
if (index + 1 < size()) {
index++;
} else {
index = 0;
}
}
/**
* 从byte[]中创建GifFrame
* @param abyte0
* @return
*/
public static GifFrame CreateGifImage(byte abyte0[]) {
try {
GifFrame GF = new GifFrame();
Image image = null;
GifDecoder gifdecoder = new GifDecoder(abyte0);
for (; gifdecoder.moreFrames(); gifdecoder.nextFrame()) {
try {
image = gifdecoder.decodeImage();
if (GF != null && image != null) {
GF.addImage(image);
}
continue;
}
catch (Exception e) {
e.printStackTrace();
}
break;
}
gifdecoder.clear();
gifdecoder = null;
return GF;
} catch (Exception e) {
e.printStackTrace();
return null;
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -