- 1、本文档共6页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
《手机截图工具
手机上有专用截图工具,但需要单独调用,如果开发的程序嵌入了截图模块,在程序使用时按一个键就直接截图了,会让程序更加人性化。截图模块设计思路 截图模块的作用是将当前屏幕中的内容存储起来,而被存储起来的内容可以发送给好友或存储到本地(截图模块下载地址:/bzsoft)。截图模块的用途比较多,例如嵌入手机游戏中,在手机游戏中通关时可以直接截图;嵌入浏览器中,上网时看到有趣的新闻可以直接截图等。 设计截图模块,先要设计一个截图界面,然后设计一个计数进程,这个进程的作用是每隔0.1秒计数一次。再设计一个截图的快捷键,例如“#”号键。当用户按下手机上的“#”号键时,调用屏幕存储方法保存屏幕内容,再将存储的内容转换为图片。当截图效果图显示达到3秒时(时间可以修改),自动切换到正常的界面。截图会保存到记录目录(图1)。
image001.jpg (11.82 KB)
2009-6-1 12:00
??用缓冲图片 截图模块的关键就是屏幕存储,有两种实现方法。 方法1:依次读取屏幕上每个点的信息并进行保存。这种方式是利用系统提供的读取屏幕的函数获得信息。 小知识:常见的PC屏幕一般是1024*768,则表示屏幕被分为1024列、768行,则屏幕上点的总数量为:1024X768=786432个。在手机中例如Nokia S60系列的手机是176*208,则表示屏幕被分为176列、208行。 方法2:借鉴“双缓冲”技术的思路,将需要绘制的内容全部绘制在一张缓冲图片中,然后将缓冲图片的内容转换成一定格式存储起来。 小知识:双缓冲(double buffer)是一种解决在播放动画时屏幕闪烁的技术,该技术在程序中的使用很广泛,是一种很成熟的实用技术。 在PC编程中,由于第一种方法实现比较简单,所以多采用第一种方式实现。而J2ME技术是不支持第一种方法的,所以我们采用第二种方法实现屏幕存储。如果要使用第一种方法,可以换其他的语言。 在程序中将界面的内容全部绘制在一张预先创建完成的“缓冲图片”中,该缓冲图片上绘制的内容就是手机屏幕显示的内容,程序界面中的变化也就是缓冲图片内容的变化,在需要存储时,调用换成图片Image对象中的getRGB方法获得每个点的颜色信息,然后将所有的颜色信息存储起来,例如:??private void saveImage(){? ?imgWidth = width;? ?imgHeight = height;? ?rgb = new int[imgWidth * imgHeight]; //屏幕大小? ?//将图片信息读入数组中? ?bufferImg.getRGB(rgb, 0, imgWidth, 0, 0, imgWidth, imgHeight);? ?save(); //保存到记录仓库 “双缓冲”技术除了可以用来设计截图模块,还可以用来解决屏幕在动画过程中的闪烁以及在绘制块状地图时提高程序的执行效率等。截图模块设计步骤第一步:创建项目 启动Eclipse环境,选择“File→New→J2ME MIDlet Suit”,设置项目名称为“ScreenSave”,并一路选择“Next”, 完成项目的建立。然后新建一个J2ME入口类,选择“File→New→J2ME MIDlet”,并设置名称为“ScreenSaveMIDlet”,点击“Finish”。创建项目的代码下载地址是/bzsoft。第二步:设计界面 选择“File→New→Class”,并设置名称为“MainCanvas”,点击“Finish”完成界面类的创建。接着,开始初始化界面。关键码如下所示(完整代码下载地址:/bzsoft):??//绘制数字??bufferG.drawString(String.valueOf(n), width/2, ? ???height/2, HCENTERBASELINE);??//绘制按钮文字??bufferG.drawString(screenSaveInfoStr, width/2, height, HCENTERBOTTOM);??bufferG.drawString(quitStr, width, height, RIGHTBOTTOM);??//绘制缓冲图片??g.drawImage(bufferImg, 0, 0, TOPLEFT);第三步:设置#号键 在程序运行时,按下手机上的#号键,启动截图功能并将截图的效果显示3秒,然后程序继续运行。核心代码如下所示(完整代码下载地址:/bzsoft):??public void keyPressed(int keyCo
文档评论(0)