基于Android系统的屏幕截图方法及终端的制作方法

文档序号:9524042阅读:320来源:国知局
基于Android系统的屏幕截图方法及终端的制作方法
【技术领域】
[0001]本发明属于通信技术领域,尤其涉及一种基于Android系统的屏幕截图方法及安装Android系统的终端。
【背景技术】
[0002]安卓(Android)是一种基于Linux的自由及开放源代码的操作系统,主要使用于终端,如智能手机和平板电脑,是目前市面上使用率最高的终端操作系统。随着终端的不断普及,用户对终端各项功能的要求越来越高,例如,利用终端进行屏幕截图,屏幕截图是指将屏幕显示内容保存为本地图片,供第三方使用,简称截屏。
[0003]以安装Android系统4.0以上的手机为例,通常的,Android4.0以上系统会自带屏幕截图(Screencap)工具,以实现对手机进行截屏,且这种方式生成的本地图片不会存在失真问题。但是由于Android系统会存在碎片化的问题,也就是各个不同型号的终端的设置可能会不一样,也就是,Android4.0以上系统可能会直接从巾贞缓冲(FrameBuffer)存储器中读取屏幕数据,并将屏幕数据压缩保存为本地图片,以实现对手机进行截屏。
[0004]可是从Framebuffer中直接读取屏幕数据,这种方式会使最终得到的截屏图片存在失真问题,比如:由于截屏图片像素点排列混乱而导致的花屏现象,或者由于截屏图片红绿蓝(RGB)通道混乱而导致的红屏现象等,从而无法最大限度地保证Android4.0以上系统的终端的截屏图片不失真。
[0005]因此,若对于Android4.0以上系统,从Framebuffer读取屏幕数据以实现截屏,会导致截屏图片失真的问题。

【发明内容】

[0006]本发明的目的在于提供基于Android系统的屏幕截图方法及安装Android系统的终端,旨在解决终端版本信息在预设版本(如4.0)以上,出现截屏图片失真的技术问题。
[0007]为解决上述技术问题,本发明实施例提供以下技术方案:
[0008]一种基于Android系统的屏幕截图方法,其中,所述方法包括:
[0009]接收输入指令,所述输入指令用于向安装Android系统的终端请求屏幕截图;
[0010]获取所述终端的版本信息和存储路径信息,并将所述版本信息与预设版本进行比较;
[0011]若所述版本信息在所述预设版本以上,则进一步判断所述终端是否存在屏幕截图Screencap存储路径;若存在Screencap存储路径,则依照所述Screencap存储路径读取所述终端的屏幕数据;以及
[0012]对获取的所述屏幕数据进行压缩,生成所述屏幕数据对应的屏幕截图。
[0013]为解决上述技术问题,本发明实施例提供以下技术方案:
[0014]一种终端,其中,所述终端包括:
[0015]接收模块,用于接收输入指令,所述输入指令用于向安装Android系统的终端请求屏幕截图;
[0016]获取模块,用于获取所述终端的版本信息和存储路径信息,并将所述版本信息与预设版本进行比较;
[0017]判断模块,用于若所述版本信息在所述预设版本以上,则进一步判断所述终端是否存在屏幕截图Screencap存储路径;
[0018]第一读取模块,用于若存在Screencap存储路径,则依照所述Screencap存储路径读取所述终端的屏幕数据;以及
[0019]压缩生成模块,用于对获取的所述屏幕数据进行压缩,生成所述屏幕数据对应的屏幕截图。
[0020]相对于现有技术,本实施例应用于安装Android系统的终端,获取终端的版本信息和存储路径信息,并将所述版本信息与预设版本进行比较,若所述版本信息在所述预设版本以上且所述终端中存在Screencap存储路径,则依照所述Screencap存储路径读取所述终端的屏幕数据,将屏幕数据压缩保存为本地图片。本发明实施例中,通过对终端的版本信息和存储路径信息进行分析,保证优先从Screencap读取数据,保证生成的截屏图片不失真。进一步的,对于版本信息不在预设版本以上的情况,通过RGB通道排序修正和/或行像素修正的方式,解决从Framebuffer读取数据而导致截屏图片存在失真的问题;进一步的,通过对屏幕数据进行压缩以提高整个截图过程的效率。
【附图说明】
[0021]图1是本发明实施例提供的基于Android系统的屏幕截图系统的结构示意图;
[0022]图2是本发明第一实施例提供的基于Android系统的屏幕截图方法的流程示意图;
[0023]图3为本发明第二实施例提供的基于Android系统的屏幕截图方法的流程示意图;
[0024]图4为本发明第三实施例提供的基于Android系统的屏幕截图方法的流程示意图;
[0025]图5为本发明第四实施例提供的基于Android系统的屏幕截图方法的流程示意图;
[0026]图6为本发明第五实施例提供的基于Android系统的屏幕截图方法的流程示意图;
[0027]图7为本发明实施例提供的安装Android系统的终端的结构示意图;
[0028]图8为本发明实施例提供的安装Android系统的终端的另一结构示意图。
【具体实施方式】
[0029]为了使本发明的目的、技术方案及有益效果更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
[0030]在以下的说明中,本发明的具体实施例将参考由一部或多部计算机所执行之作业的步骤及符号来说明,除非另有述明。因此,其将可了解到这些步骤及操作,其中有数次提到为由计算机执行,包括了由代表了以一结构化型式中的数据之电子信号的计算机处理单元所操纵。此操纵转换该数据或将其维持在该计算机之内存系统中的位置处,其可重新配置或另外以本领域技术人员所熟知的方式来改变该计算机之运作。该数据所维持的数据结构为该内存之实体位置,其具有由该数据格式所定义的特定特性。但是,本发明原理以上述文字来说明,其并不代表为一种限制,本领域技术人员将可了解到以下所述的多种步骤及操作亦可实施在硬件当中。
[0031 ] 如本申请所使用的术语“组件”、“模块”、“系统”、“接口 ”、“进程”等等一般地旨在指计算机相关实体:硬件、硬件和软件的组合、软件或执行中的软件。例如,组件可以是但不限于是运行在处理器上的进程、处理器、对象、可执行应用、执行的线程、程序和/或计算机。通过图示,运行在控制器上的应用和该控制器二者都可以是组件。一个或多个组件可以有在于执行的进程和/或线程内,并且组件可以位于一个计算机上和/或分布在两个或更多计算机之间。
[0032]而且,要求保护的主题可以被实现为使用标准编程和/或工程技术产生软件、固件、硬件或其任意组合以控制计算机实现所公开的主题的方法、装置或制造品。本文所使用的术语“制造品”旨在包含可从任意计算机可读设备、载体或介质访问的计算机程序。当然,本领域技术人员将认识到可以对该配置进行许多修改,而不脱离要求保护的主题的范围或精神。
[0033]图1和随后的讨论提供了对实现本发明所述的终端所在的服务器的工作环境的简短、概括的描述。图1的工作环境仅仅是适当的工作环境的一个实例并且不旨在建议关于工作环境的用途或功能的范围的任何限制。实例服务器112包括但不限于个人计算机、服务器计算机、手持式或膝上型设备、移动设备(比如移动电话、个人数字助理(PDA)、媒体播放器等等)、多处理器系统、消费型服务器、小型计算机、大型计算机、包括上述任意系统或设备的分布式计算环境,等等。
[0034]尽管没有要求,但是在“计算机可读指令”被一个或多个服务器执行的通用背景下描述实施例。计算机可读指令可以经由计算机可读介质来分布(下文讨论)。计算机可读指令可以实现为程序模块,比如执行特定任务或实现特定抽象数据类型的功能、对象、应用编程接口(API)、数据结构等等。典型地,该计算机可读指令的功能可以在各种环境中随意组合或分布。
[0035]图1图示了包括本发明的基于Android系统的屏幕截图装置的一个或多个实施例的服务器112的实例,所述基于Android系统的屏幕截图装置形成于所述终端。在一种配置中,服务器112包括至少一个处理单元116和存储器118。根据服务器的确切配置和类型,存储器118可以是易失性的(比如RAM)、非易失性的(比如ROM、闪存等)或二者的某种组合。该配置在图1中由虚线114图示。
[0036]在其他实施例中,服务器112可以包括附加特征和/或功能。例如,设备112还可以包括附加的存储装置(例如可移除和/或不可移除的),其包括但不限于磁存储装置、光存储装置等等。这种附加存储装置在图1中由存储装置120图示。在一个实施例中,用于实现本文所提供的一个或多个实施例的计算机可读指令可以在存储装置120中。存储装置120还可以存储用于实现操作系统、应用程序等的其他计算机可读指令。计算机可读指令可以载入存储器118中由例如处理单元116执行。
[0037]本文所使用的术语“计算机可读介质”包括计算机存储介质。计算机存储介质包括以用于存储诸如计算机可读指令或其他数据之类的信息的任何方法或技术实现的易失性和非易失性、可移除和不可移除介质。存储器118和存储装置120是计算机存储介质的实例。计算机存储介质包括但不限于RAM、ROM、EEPR0M、闪存或其他存储器技术、CD-ROM、数字通用盘(DVD)或其他光存储装置、盒式磁带、磁带、磁盘存储装置或其他磁存储设备、或可以用于存储期望信息并可以被服务器112访问的任何其他介质。任意这样的计算机存储介质可以是服务器112的一部分。
[0038]服务器112还可以包括允许服务器112与其他设备通信的通信连接126。通信连接126可以包括但不限于调制解调器、网络接口卡(NIC)、集成网络接口、射频发射器/接收器、红外端口、USB连接或用于将服务器112连接到其他服务器的其他接口。通信连接126可以包括有线连接或无线连接。通信连接126可以发射和/或接收通信媒体。
[0039]术语“计算机可读介质”可以包括通信介质。通信介质典型地包含计算机可读指令或诸如载波或其他传输机构之类的“己调制数据信号”中的其他数据,并且包括任何信息递送介质。术语“己调制数据信号”可以包括这样的信号:该信号特性中的一个或多个按照将信息编码到信号中的方式来设置或改变。
[0040]服务器112可以包括输入设备124,比如键盘、鼠标、笔、语音输入设备、触摸输入设备、红外相机、视频输入设备和/或任何其他输入设备。设备112中也可以包括输出设备122,比如一个或多个显不器、扬声器、打印机和/或任意其他输出设备。输
当前第1页1 2 3 4 5 6 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1