深入理解Image.createImage()
来源:互联网 发布:ubuntu查看电脑显卡 编辑:程序博客网 时间:2024/06/05 03:40
这个话题给大家深入讲讲Image.createImage(width,height);
我始终认为:深入的理解一种机制,然后才有灵活多变的应用!如果你不能深入的理解它,那么也只会死板的套用,如果你想做个copy代码的程序员,那么就没必要看我的文章。
Image.createImage(width,height);这个方法到底是做什么用的?
我们先看下doc里的一段说明:
An immutable image may be created from a mutable image through the use of the createImage
method. It is possible to create a mutable copy of an immutable image using a technique similar to the following:
Image source; // the image to be copied source = Image.createImage(...); Image copy = Image .createImage(source.getWidth(), source.getHeight()); Graphics g = copy.getGraphics(); g.drawImage(source, 0, 0, TOP|LEFT);
这句话的意思是:通过Image.createImage(width,height);可以得到一份图片的copy。
也就是说:我们可以把某个图片缓存在内存中,然后随时可以把它调出来用。
好,理解了这点,下面的就好办!
一:既然这个方法缓存图片的一份copy,那么我们就可以利用它来缓存我们的图片,然后在需要的时候把它刷新的手机屏幕上(也就是g.drawImage()把它画到屏幕上),从而使这个方法可用于双缓冲技术。
当然,这个功能是我们常用的,我这里就不罗嗦了!
我要将的是下面的一个应用!
二:利用Image.createImage(windth,height)来绘制背景。
可能大家看到这个标题都很诧异,我们常用绘制背景的方法是剪贴(setClip())。
下面我来演示怎么用这个方法绘制背景title。
首先,我们计算需要用的title图片块,也就是拼凑大地图的小图片块。
然后,我们在内存中把这些小图片块按照数组索引号缓存在内存中。
最后,绘制地图的时候我们再把这些小图片块取出来。
结果就是,因为我们把这些小图片块缓存在内存块中,所以取出来的时候更快。
下面是演示代码:
Image img[] = new Image[4];
for(int i = 0;i < 4;i++)
img[i] = Image.createImage(width,height);
int[][] mapTitle = { 1,1,1,1,1,1,1,1,
2,3,1,0,3,2,2,2
.........
}
最后通过索引把图片取出来画到屏幕上就OK了。
Trackback: http://tb.blog.csdn.net/TrackBack.aspx?PostId=640337
- 深入理解Image.createImage()
- 深入理解Image.createImage()
- 深入理解Image.createImage()
- 深入理解Image.createImage()
- 深入理解Image.createImage()
- 深入理解Image.createImage()
- 深入理解Image.createImage()
- 深入理解Image.createImage()
- 深入理解Image.createImage()
- 深入理解Image.createImage()
- 深入理解Image.createImage()
- Image.createImage异常
- j2me在Eclipse环境上加载图片问题(Image.createImage)!
- Nokia 60的Image.createImage死机问题
- 有关J2ME中的Image.createImage()方法找不到图片的问题
- eclipse下Image.CreateImage(string filename)的使用
- 在eclipse中开发J2ME Image.createImage(path)
- 深入理解findViewById()
- Session跟踪
- Ajax = One Page Less Submit
- 将Oracle ADF Faces集成到Appfuse里面
- 编写HtmlArea控件的插件:经典教程
- 编写HtmlArea控件的插件:经典教程
- 深入理解Image.createImage()
- Exo 正式进入Object web的软件项目
- [转贴]富人和穷人12大经典差异
- “斐波那契数列”问题的递推算法
- 在PHP中使用Pear 的NetMail发送smtp邮件
- JBPM的任务分派机制
- OEL导出excel文件时候,美化excel的几种方法
- Ant让你批量运行native2ascii命令
- Apache2 + PHP 在Windows2000下不稳定解决方案