移动终端屏幕截图方法、屏幕截图装置的制作方法

文档序号:6373467阅读:212来源:国知局
专利名称:移动终端屏幕截图方法、屏幕截图装置的制作方法
技术领域
本发明涉及计算机领域,特别是涉及一种移动终端屏幕截图方法、屏幕截图装置。
背景技术
随着手机等移动终端技术的迅速发展,移动终端的功能越来丰富。用户在使用移动终端时常常会希望将整个屏幕内容截取下来并进行编辑或共享,这一功能通常也称为手机截屏。传统的移动终端中的屏幕截图功能通常是由移动终端中的操作系统所自带的。例如,对于Android系统的手机,只有安装了 Android4. 0以上版本的操作系统才能使用屏幕截图功能。因此,传统的屏幕截图方法受限于操作系统的版本,具有较大的局限性。

发明内容
基于此,有必要针对上述局限性较大问题,提供一种能应用于各种版本的操作系统的移动终端屏幕截图方法。一种移动终端屏幕截图方法,包括以下步骤获取屏幕截图指令;复制显卡缓存中的内容,生成显卡缓存文件;读取所述显卡缓存文件中的像素数据,生成位图。此外,还提供了一种能应用于各种版本的操作系统的屏幕截图装置。一种屏幕截图装置,所述装置包括显卡缓存获取模块,用于获取屏幕截图指令,复制显卡缓存中的内容,生成显卡缓存文件;显卡缓存转换模块,用于读取所述显卡缓存文件中的像素数据,生成位图。上述屏幕截图方法、屏幕截图装置,在获取到屏幕截图指令后复制显卡缓存中的内容,生成显卡缓存文件,并进一步读取显卡缓存中的像素数据,生成位图。该方法和装置可应用于任意版本操作系统的移动终端,因此使得移动终端的屏幕截图功能不会受限于操作系统的版本,具有较小的局限性。


图I为一个实施例中的移动终端屏幕截图方法的流程示意图;图2为一个实施例中的屏幕截图装置的结构示意图;图3为另一个实施例中的屏幕截图装置的结构示意图;图4为又一个实施例中的屏幕截图装置的结构示意图。
具体实施例方式如图I所示,在一个实施例中,一种移动终端屏幕截图方法,包括以下步骤步骤S102,获取屏幕截图指令。在一个实施例中,可获取预设物理按键或预设的虚拟按键的触发指令,该触发指令即为屏幕截图指令。预设物理按键可为移动终端上的某个特定按键,当点击该按键时,则获取到屏幕截图指令。预设虚拟按键可以为移动终端的桌面或应用界面的某个特定按钮,当点击该按钮时,则获取到屏幕截图指令。在另一个实施例中,可获取对移动终端的摇晃操作,生成屏幕截图指令。具体的,可在移动终端上设置加速度传感器,用于检测移动终端在多个方向上的加速度数据,当检测到加速度数据在预设范围内时,则获取到对移动终端的摇晃操作,生成屏幕截图指令。通过获取对预设物理按键或虚拟按键的触发指令,或者通过获取对移动终端的摇晃操作来生成屏幕截图指令,相对于传统的需要多个按键组合来触发屏幕截图的方式(例如,传统的基于Android平台的手机,需同时按开机键和声音键才能触发屏幕截图),能够简化操作,提高操作便利性。步骤S104,复制显卡缓存中的内容,生成显卡缓存文件。在一个实施例中,步骤S104具体包括获取移动终端的root权限,将显卡缓存中的内容复制到移动终端存储卡的相应路径下。 对于一些命令,只有在具有root权限的移动终端上才能执行。所谓root,是移动终端的操作系统中的唯一的超级用户,具有操作系统中所有的权限。对具有root权限的移动终端,可访问和修改其中几乎所有的文件,例如,复制显卡缓存中的内容。移动终端当前屏幕内容会存储在显卡缓存中,具体的,可获取移动终端的root权限,在移动终端上执行包含显卡缓存地址和存储卡路径的复制命令,可将显卡缓存中的内容复制到存储卡对应该存储卡路径的位置。以基于Android平台的移动终端为例,显卡缓存地址为dev/graphics/fbO,则在具有root权限的移动终端上执行cat命令,即“cat/dev/graphics/fbO path”,其中path为存储卡路径,贝U可将显卡缓存中的内容复制到存储卡中对应path的位置。进一步的,在一个实施例中,获取移动终端的root权限具体包括展示权限确认界面,通过该权限确认界面获取确认操作指令时。本实施例中,在执行所述的复制命令后,可展示权限确认界面,在该权限确认界面上显示确认按钮,当对该确认按钮进行点击操作,则获取到确认操作指令,表明对复制显卡缓存的内容这一应用开放权限,允许执行复制命令,即获取到root权限。进一步的,可根据复制命令将显卡缓存中的内容复制到存储卡中,生成的显卡缓存文件中保存了当前屏幕内容的像素数据,该显卡缓存文件存储在存储卡中对应存储卡路径的位置。通过展示权限确认界面,当通过该权限确认界面获取到确认操作指令时再进行复制,可由用户确认对复制显卡缓存的内容开放权限,能够提高安全性。步骤S106,读取显卡缓存文件中的像素数据,生成位图。在一个实施例中,步骤S106具体包括读取显卡缓存文件,将其像素数据保存在一个位图文件中,生成位图。具体的,可先将显卡缓存文件放入缓冲区中,然后从缓冲区中读取显卡缓存文件中的像素数据,将读取的像素数据保存在一个位图中,从而生成位图,所生成的位图保存为图片文件并存储在存储卡中。以基于Android平台的移动终端为例,可通过文件输入流FileInputStream将显卡缓存文件读入,并将输入流写在Buffer缓冲区中,具体的,可写在字节Buffer (即ByteBuffer)中。进一步的,可通过位图(Bitmap)的复制工具CopyPixelsFromBuffer将ByteBuffer中的像素数据保存在一个Bitmap中,从而生成一个位图。
在获取到屏幕截图指令后,通过将显卡缓存中的内容复制到存储卡中,并读取存储卡中保存的显卡缓存文件中的像素数据,生成位图,从而可将移动终端当前的屏幕内容截取下来,且该方法不会受限于操作系统的版本,具有较小的局限性。在一个实施例中,在生成位图之后,还可获取图片格式和/或压缩比,根据获取的图片格式和/或压缩比对位图进行处理。具体的,在一个实施例中,可在生成位图后,展示图片设置界面,通过图片设置界面接收输入的图片格式和/或压缩比。优选的,可在图片设置界面提供多个供选择的图片格式的选项和/或多个供选择的压缩比的选项。例如,图片设置界面中包含jpg、png等多个图片格式的选项供用户选择,和/或包含50、80、100等多个压缩比(值越大图片的清晰度 则越高)的选项供用户选择。进一步的,通过图片设置界面接收用户选择的图片格式和/或压缩比,按照选择的图片格式和/或压缩比对位图进行处理,得到处理后的图片满足选择的图片格式和/或压缩比。以基于Android平台的移动终端为例,可将选择的图片格式和/或压缩比传递给Android平台中的Bitmap, compress方法(Android图片压缩方法),通过该方法对位图进行处理。通过对位图进行处理,可得到其他多种格式和/或不同清晰度的图片,相对于传统的只能提供单一格式图片的方式,这种屏幕截图方法灵活性更高,能够满足用户的自定义需求。进一步的,在一个实施例中,在对位图进行处理的步骤之后,还可保存处理后的图片,并调用图片显示控件显示处理后的图片。以基于Andro i d平台的移动终端为例,可通过文件输出流Fi I eOutput Str earn将处理后的图片保存到存储卡中。进一步的,可调用Android平台中的图片显示控件显示处理后的图片,并在预设时间(例如2秒)后结束显示。在对位图进行处理后,可调用图片显示控件显示处理后的图片,实现在线预览功能,便于立即对处理后的图片进行查看,使用更灵活。在另一个实施例中,在对位图进行处理后,还可进一步获取图片查看指令;调用图片浏览应用程序,向图片浏览应用程序传递处理后的图片的访问地址,通过图片浏览应用程序显示该访问地址对应的处理后的图片。具体的,在对位图进行处理后,可在当前的应用界面上设置图片查看接口,例如,可在当前的应用界面上显示图片查看按钮,对该按钮进行点击则获取到图片查看指令。进一步的,根据该图片查看指令调用图片浏览应用程序,若当前可供调用的图片浏览应用程序有至少两个,则可弹出对话框展示图片浏览应用程序列表供用户选择其中一个。进一步的,向用户选择的图片浏览应用程序传递处理后的图片的访问地址,根据该访问地址即可获取到存储卡中保存的对应的处理后的图片,通过图片浏览应用程序进行显示。以基于Android平台的移动终端为例,在获取到图片查看指令后,可发起一个Intent请求(Intent即意图,在Android平台中,Intent提供了一种通用的消息系统,允许在应用程序与其他应用程序间传递Intent来执行动作和产生事件),在该请求中加入图片文件预览的过滤要求,过滤出移动终端中能预览图片的应用程序,然后Intent获取处理后的图片的URI (通用资源标志符),并传递给图片浏览应用程序,该URI记录了图片的访问地址,图片浏览应用程序接收到图片的URI即可显示该图片。通过在应用界面上设置图片查看接口,调用图片浏览应用程序显示处理后的图片,从而实现对处理后的图片的在线预览功能,便于用户对处理后的图片进行查看。此外,通过触发图片查看指令即可调用图片浏览应用程序对当前处理后的图片进行显示,用户无需找到存储卡中的图片存储位置,再打开图片进行查看,从而简化了操作,使用更方便。如图2所示,在一个实施例中,一种屏幕截图装置,包括显卡缓存获取模块10和显卡缓存转换模块20,其中 显卡缓存获取模块10用于获取屏幕截图指令,复制显卡缓存中的内容,生成显卡缓存文件。显卡缓存转换模块20用于读取显卡缓存文件中的像素数据,生成位图。在一个实施例中,显卡缓存获取模块10可用于获取预设物理按键或预先的虚拟 按键的触发指令,该触发指令即为屏幕截图指令。具体的,预设物理按键可为移动终端上的某个特定按键,而预设虚拟按键可为移动终端的桌面或应用界面的某个特定按钮。在另一个实施例中,显卡缓存获取模块10用于获取对移动终端的摇晃操作,生成屏幕截图指令,并获取该屏幕截图指令。具体的,可在移动终端上设置加速度传感器,用于检测移动终端在多个方向上的加速度数据,当检测到加速度数据在预设范围内时,则通知显卡缓存获取模块10。进一步的,在一个实施例中,显卡缓存获取模块10用于获取移动终端的root权限,将显卡缓存中的内容复制到移动终端存储卡的相应路径下。对于一些命令,只有在具有root权限的移动终端上才能执行。所谓root,是移动终端的操作系统中的唯一的超级用户,具有操作系统中所有的权限。对具有root权限的移动终端,可访问和修改其中几乎所有的文件,例如,复制显卡缓存中的内容。移动终端当前屏幕内容会存储在显卡缓存中,具体的,显卡缓存获取模块10用于获取移动终端的root权限,执行包含显卡缓存地址和存储卡路径的复制命令,可将显卡缓存中的内容复制到存储卡对应该存储卡路径的位置。进一步的,在一个实施例中,显卡缓存获取模块10用于展示权限确认界面,通过该权限确认界面获取到确认操作指令。本实施例中,显卡缓存获取模块10在执行所述的复制命令后,可展示权限确认界面,在该权限确认界面上显示确认按钮。显卡缓存获取模块10当通过该确认按钮获取到确认操作指令时,则表明对复制显卡缓存的内容这一应用开放权限,允许执行复制命令,即显卡缓存获取模块10获取到root权限。进一步的,显卡缓存获取模块10可根据复制命令将显卡缓存中的内容复制到存储卡中,生成的显卡缓存文件中保存了当前屏幕内容的像素数据,该显卡缓存文件存储在存储卡中对应存储卡路径的位置。在一个实施例汇总,显卡缓存转换模块20用于读取显卡缓存文件,将其像素数据保存在一个位图文件中,生成位图。进一步的,在一个实施例中,显卡缓存转换模块20用于先将显卡缓存文件放入缓冲区中,然后从缓冲区中读取显卡缓存文件中的像素数据,将读取的像素数据保存在一个位图中,从而生成位图,所生成的位图保存为图片文件并存储在存储卡中。在一个实施例中,如图3所示,屏幕截图装置还可包括图片处理模块30、文件保存模块40和第一在线预览模块50,其中图片处理模块30用于获取图片格式和/或压缩比,根据获取的图片格式和/或压缩比对位图进行处理。具体的,在一个实施例中,图片处理模块30可展示图片设置界面,通过图片设置界面接收输入的图片格式和/或压缩比。优选的,可在图片设置界面提供多个供选择的图片格式的选项和/或多个供选择的压缩比的选项。例如,图片设置界面中包含jpg、png等多个图片格式的选项供用户选择,和/或包含50、80、100等多个压缩比(值越大图片的清晰度则越高)的选项供用户选择。进一步的,图片处理模块30用于接收用户选择的图片格式和/或压缩比,按照选择的图片格式和/或压缩比对位图进行处理,得到处理后的图片满足选择的图片格式和/或压缩比。文件保存模块40用于保存处理后的图片。 第一在线预览模块50用于调用图片显示控件显示处理后的图片。在一个实施例中,第一在线预览模块50调用图片显示控件显示处理后的图片后,可在预设时间(例如2秒)后结束显示。在另一个实施例中,如图4所示,屏幕截图装置还可包括第二在线预览模块60,用于获取图片查看指令,调用图片浏览应用程序,向图片浏览应用程序传递处理后的图片的访问地址,以及通过图片浏览应用程序显示该访问地址对应的处理后的图片。具体的,第二在线预览模块60可在当前的应用界面上设置图片查看接口,例如,可在当前的应用界面上显示图片查看按钮,对该按钮进行点击则获取到图片查看指令。进一步的,第二在线预览模块60用于根据该图片查看指令调用图片浏览应用程序,若当前可供调用的图片浏览应用程序有至少两个,则可弹出对话框展示图片浏览应用程序列表供用户选择其中一个。进一步的,第二在线预览模块60用于向用户选择的图片浏览应用程序传递处理后的图片的访问地址,根据该访问地址即可获取到存储卡中保存的对应的处理后的图片,进而通过图片浏览应用程序进行显示。应当说明的是,上述实施例中的屏幕截图装置可运行于移动终端。该移动终端可以是手机、平板电脑、媒体播放器等。本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory, ROM)或随机存储记忆体(Random AccessMemory, RAM)等。以上所述实施例仅表达了本发明的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。因此,本发明专利的保护范围应以所附权利要求为准。
权利要求
1.一种移动终端屏幕截图方法,包括以下步骤 获取屏幕截图指令; 复制显卡缓存中的内容,生成显卡缓存文件; 读取所述显卡缓存文件中的像素数据,生成位图。
2.根据权利要求I所述的移动终端屏幕截图方法,其特征在于,所述获取屏幕截图指令的方式为以下的其中至少一种 获取对预设物理按键的触发指令; 获取对预设的虚拟按键的触发指令; 获取对移动终端的摇晃操作,生成屏幕截图指令。
3.根据权利要求I所述的移动终端屏幕截图方法,其特征在于,所述复制显卡缓存中的内容,生成显卡缓存文件的步骤包括 获取移动终端的root权限,将显卡缓存中的内容复制到所述移动终端存储卡的相应路径下。
4.根据权利要求3所述的移动终端屏幕截图方法,其特征在于,所述获取移动终端的root权限包括 展示权限确认界面,通过所述确认界面获取确认操作指令。
5.根据权利要求I所述的移动终端屏幕截图方法,其特征在于,所述读取所述显卡缓存文件中的像素数据,生成位图的步骤包括 读取显卡缓存文件,将其像素数据保存在一个位图文件中,生成位图。
6.根据权利要求I所述的移动终端屏幕截图方法,其特征在于,在所述读取显卡缓存文件中的像素数据,生成位图的步骤之后,还包括 获取图片格式和/或压缩比; 根据所述图片格式和/或压缩比对所述位图进行处理。
7.根据权利要求6所述的移动终端屏幕截图方法,其特征在于,在根据图片格式和/或压缩比对所述位图进行处理的步骤之后,还包括 保存处理后的图片; 调用图片显示控件显示所述处理后的图片。
8.根据权利要求6所述的移动终端屏幕截图方法,其特征在于,在在根据图片格式和/或压缩比对所述位图进行处理的步骤之后,还包括 获取图片查看指令; 调用图片浏览应用程序,向所述图片浏览应用程序传递所述处理后的图片的访问地址; 通过所述图片浏览应用程序显示所述访问地址对应的处理后的图片。
9.一种屏幕截图装置,其特征在于,所述装置包括 显卡缓存获取模块,用于获取屏幕截图指令,复制显卡缓存中的内容,生成显卡缓存文件; 显卡缓存转换模块,用于读取所述显卡缓存文件中的像素数据,生成位图。
10.根据权利要求9所述的屏幕截图装置,其特征在于,所述显卡缓存获取模块获取屏幕截图指令的方式为以下的其中至少一种获取对预设物理按键的触发指令; 获取对预设的虚拟按键的触发指令; 获取对移动终端的摇晃操作,生成屏幕截图指令。
11.根据权利要求9所述的屏幕截图装置,其特征在于,所述显卡缓存获取模块用于获取移动终端的root权限,将显卡缓存中的内容复制到移动终端存储卡的相应路径下。
12.根据权利要求11所述的屏幕截图装置,其特征在于,所述显卡缓存模块还用于展示权限确认界面,通过所述权限确认界面获取确认操作指令时。
13.根据权利要求9所属的屏幕截图装置,其特征在于,所述显卡缓存转换模块用于读取显卡缓存文件,将其像素数据保存在一个位图文件中,生成位图。
14.根据权利要求9所述的屏幕截图装置,其特征在于,所述装置还包括 图片处理模块,用于获取图片格式和/或压缩比,根据所述图片格式和/或压缩比对所述位图进行处理。
15.根据权利要求14所述的屏幕截图装置,其特征在于,所述装置还包括 文件保存模块,用于保存处理后的图片; 第一在线预览模块,用于调用图片显示控件显示所述处理后的图片。
16.根据权利要求14所述的屏幕截图装置,其特征在于,还包括 第二在线预览模块,用于获取图片查看指令,调用图片浏览应用程序,向所述图片浏览应用程序传递所述处理后的图片的访问地址,以及通过所述图片浏览应用程序显示所述访问地址对应的处理后的图片。
全文摘要
一种移动终端屏幕截图方法,包括以下步骤获取屏幕截图指令;复制显卡缓存中的内容,生成显卡缓存文件;读取所述显卡缓存文件中的像素数据,生成位图。采用该屏幕截图方法,不会受限于操作系统的版本,具有较小的局限性。此外,还提供了一种屏幕截图装置。
文档编号G06T11/00GK102799383SQ201210249180
公开日2012年11月28日 申请日期2012年7月18日 优先权日2012年7月18日
发明者郑晓胜 申请人:腾讯科技(深圳)有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1