一种获取屏幕截图的方法及装置的制造方法

文档序号:9471152阅读:261来源:国知局
一种获取屏幕截图的方法及装置的制造方法
【技术领域】
[0001] 本发明涉及计算机图形处理技术,尤其涉及一种获取屏幕截图的方法及装置。
【背景技术】
[0002] 目前,安卓(Android)操作系统以其操作简单且方便快捷的特性,越来越为用户 所接受,已普遍应用于用户的工作以及生活中。随着Android操作系统的日益普及,用于界 面设计的科库斯(Cocos)跨平台框架也广泛应用于游戏以及Android操作系统的各应用 中,例如,基于Cocos跨平台框架,可以在游戏中实现类似于"炫耀一下"的屏幕截图功能, 并可以将屏幕截图得到的图片发送给好友进行分享。
[0003] 目前,终端设备,例如,移动电话、平板电脑、笔记本电脑、台式机电脑以及个人数 字助理等,都提供有无损截取当前整个屏幕的全屏幕截图功能,其中,实现全屏幕截图的截 屏方法主要包括:基于Android软件开发工具包(SDK,SoftwareDevelopmentKit)的无损 截屏方法以及读取FBO的方法。
[0004] 其中,基于AndroidSDK的无损截屏方法,是利用作为控件基类的视窗(View)自 带的双缓冲机制,获取内部的屏幕效果。读取FBO的方法是利用读取/dev/graphics/fbO 文件,通过获取ROOT权限,利用流的方式读取/dev/graphics/fbO文件的内容,然后将读取 的内容转换成为RBG(像素点信息),并将转换的像素点信息转换成为图片,从而得到全屏 幕截图。
[0005] 但上述获取全屏幕截图的方法,只能实现全屏截取,当用户希望分享的只是全屏 截图中的部分图像时,用户需要对全屏截图进行二次操作,才能获得想要的图像,这个流程 增加了获取屏幕截图所需的时间,使得获取屏幕截图的效率较低。

【发明内容】

[0006] 有鉴于此,本发明实施例提供一种获取屏幕截图的方法及装置,解决局部截图处 理流程复杂、局部截图效率较低的技术问题。
[0007] 为达到上述目的,本发明的实施例采用如下技术方案:
[0008] -方面,本发明实施例提供一种获取屏幕截图的方法,包括:
[0009] 接收局部截图指令,获取屏幕截图指令在屏幕上对应的局部截图坐标参数,所述 屏幕上的图像利用嵌入式系统的开放图形程序库的双缓冲矩阵内存进行加载;
[0010] 调用图形程序库GL系统线程,在当前屏幕对应的内存矩阵中,读取所述局部截图 坐标参数形成的区域内包含的图像信息;
[0011] 对读取的图像信息进行倒转处理,并将倒转处理的图像信息转换为图片。
[0012] 本发明实施例提供的获取屏幕截图的方法,通过利用嵌入式系统的开放图形程序 库的双缓冲矩阵内存进行屏幕图像信息的加载,在需要进行局部截图时,调用GL系统线 程,在当前屏幕对应的内存矩阵中,读取用户指定的局部截图坐标参数形成的区域内包含 的图像信息,然后,对读取的图像信息进行倒转处理,并将倒转处理的图像信息转换为图 片,得到局部截图,由于可以直接读取矩阵内存中用户指定的局部截图坐标参数形成的区 域内包含的图像信息,能够实现一次性的局部截图,简化了局部截图处理流程,从而有效提 升了局部截图的效率。
[0013] 另一方面,本发明实施例提供一种获取屏幕截图的装置,包括:局部截图指令处理 模块、调用模块以及图像获取模块,其中,
[0014] 局部截图指令处理模块,用于接收局部截图指令,获取屏幕截图指令在屏幕上对 应的局部截图坐标参数,所述屏幕上的图像利用嵌入式系统的开放图形程序库的双缓冲矩 阵内存进行加载;
[0015] 调用模块,用于调用GL系统线程,在当前屏幕对应的内存矩阵中,读取所述局部 截图坐标参数形成的区域内包含的图像信息;
[0016] 图像获取模块,用于对读取的图像信息进行倒转处理,并将倒转处理的图像信息 转换为图片。
[0017] 本发明实施例提供的获取屏幕截图的装置,局部截图指令处理模块通过利用嵌入 式系统的开放图形程序库的双缓冲矩阵内存进行屏幕图像信息的加载,在需要进行局部截 图时,调用模块调用GL系统线程,在当前屏幕对应的内存矩阵中,读取用户指定的局部截 图坐标参数形成的区域内包含的图像信息,图像获取模块对读取的图像信息进行倒转处 理,并将倒转处理的图像信息转换为图片,得到局部截图,由于可以直接读取矩阵内存中用 户指定的局部截图坐标参数形成的区域内包含的图像信息,能够实现一次性的局部截图, 简化了局部截图处理流程,从而有效提升了局部截图的效率。
【附图说明】
[0018] 为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现 有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本 发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以 根据这些附图获得其它的附图。
[0019] 图1为本发明实施例获取屏幕截图的方法流程示意图;
[0020] 图2为本发明实施例获取屏幕截图的装置结构示意图;
[0021] 图3为本发明实施例获取屏幕截图的装置具体结构示意图。
【具体实施方式】
[0022] 下面结合附图对本发明实施例进行详细描述。
[0023] 应当明确,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基 于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其 它实施例,都属于本发明保护的范围。
[0024] 图1为本发明实施例获取屏幕截图的方法流程示意图。参见图1,该方法包括:
[0025] 步骤101,接收局部截图指令,获取屏幕截图指令在屏幕上对应的局部截图坐标参 数,所述屏幕上的图像利用嵌入式系统的开放图形程序库的双缓冲矩阵内存进行加载;
[0026] 本步骤中,嵌入式系统的开放图形程序库(OpenGLES,OpenGraphicsLibrary forEmbeddedSystems)是Android操作系统自带的一个库,是OpenGL三维图形应用程序 接口(API,ApplicationProgrammingInterface)的子集,针对移动电话、个人数字助理 (PDA,PersonalDigitalAssistant)以及游戏主机等嵌入式终端设备而设计。
[0027]OpenGLES是跨平台的、功能完善的二维(2D)以及三维(3D)图形API,是 从OpenGL裁剪的定制而来,去除了glBegin/glEnd、四边形(GL_QUADS)、多边形(GL_ POLYGONS)等复杂图元等许多非绝对必要的特性,广泛应用于图形绘制以及特效处理,用户 利用OpenGLES绘图时,可以通过修改OpenGLES绘图中的参数信息,对绘图进行个性化设 计。
[0028] 本发明实施例中,考虑到可以修改OpenGLES绘图中的参数信息,在实现局部截 图时引入OpenGLES,替换Android操作系统,一方面,用于对屏幕图像进行加载,即利用 OpenGLES管理和维护用于屏幕图像加载的双缓冲机制的两个矩阵内存,另一方面,可以通 过访问并提取OpenGLES绘图中的参数信息,实现局部信息提取。这样,用户可以根据实际 需要,对矩阵内存中绘制的图像信
当前第1页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1