j2me 在手机上,截屏你的程序
KJAVA在这里人气不算很旺,不过这磨灭不了我们这群热爱着J2ME开发的人们的激情。
?
关于这个截屏程序,是需要附加到你的项目中的,因为j2me的手机没听说双线程的。
?
此截屏程序的原理:
把缓冲画笔所在的画布img_buffer转成PNG格式保存到指定路径下,image转png需要一些插值加文件头的操作。
?
这段代码网上有,我也是copy过来进行创新的。
?
你需要做的是:
1.在你的canvas里定义截屏类的对象,初始值null。
2.在你的canvas里定义一个boolean变量,初始值true。
3.在你的canvas里的初始化或者构造方法里new 一个截屏类的对象。
4.在你的canvas里run方法里如同下面代码一样改造,repaint()方法就是重绘方法,c就是截屏类的实例,c.save()方法是保存图片的方法。
?
注意:截屏命名是以1、2、3、4数字++命名的,如1.png,2.png等等,该程序设计的触发截屏事件是点击屏幕左上角,这个根据具体需要随意改了,并且图片保存命名规则也需要完善下。
?
曾尝试过截屏的时候弄点提示,但这是万万不可的,在屏幕上出现任何提示都将会被截屏记录下来,所以我在写这个功能的时候,很是认真的考虑了截屏的完整性及安全性,只要触发了,程序会自动屏蔽所有操作等待截屏操作结束,结束后恢复,也就是说机器慢的,触发截屏了,你在点或者做其他的程序界面的操作,那都是不可能的,截屏生成保存文件这个过程结束后才可以。
?
附件:截屏类(其实就是把image对象转成png并保存到指定路径的方法)
1 楼 javaichiban 2011-04-14 好文!!
另外我记得在真彩色png图中,PLTE, tRNS等块应该是可以省略的。