您的位置:首页 > 其它

j2me 闪屏问题及双缓冲的实现

2011-04-08 14:47 162 查看
 

 

使用离屏缓冲区【双缓冲】。

MIDP2.0已经自带了离屏缓冲功能, 如果是1.0的话,

 

// 先定义一个离屏画笔
Graphics offg; // 离屏画笔
// 在创建一个离屏画布
Image img=Image.createImage(this.getWidth(), this.getHeight());
// 然后
offg.getGraphics();  //获取画笔
 

 

这样就可以在任何一个方法内绘制图像了,并且不需要定义Graphcs方法了。

离屏缓充区的原理就是 当屏幕还未加载完一张图片的时候,先在另外一个画布上绘制完图片,然后在以图片的形式将整个画布绘制出来。

这样可以解决闪屏的问题。

 

 

在学习j2me的过程中,可能很多学员对屏幕缓冲理解方面有很多的误解,其实,屏幕缓冲简单的可以说成:就是使用自己创建的屏幕画笔在创建画笔的屏幕上作画,然后再将画出的屏幕做为Image的对象画到改屏幕上:

package com.redarmy.tes;

import javax.microedition.lcdui.Canvas;
import javax.microedition.lcdui.Graphics;
import javax.microedition.lcdui.Image;

public class ExCanvas extends Canvas{
public Image offScreen;//离屏缓冲区
public Graphics offg;  //离屏画笔

public ExCanvas() {
//绘制和屏幕一样大小的缓冲区
offScreen = Image.createImage(this.getWidth(), this.getHeight
());
//得到离屏缓冲区的画笔
offg = offScreen.getGraphics();
}

protected void paint(Graphics arg0) {
//绘制离屏缓冲区
arg0.drawImage(offScreen, 0, 0, Graphics.LEFT|Graphics.TOP);
}

}
 

 

源文链接:http://redarmychen.iteye.com/blog/552644

 

 
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  j2me import image class