?? 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 + -