[发明专利]一种图片解码方法、装置以及设备有效
申请号: | 201811377772.1 | 申请日: | 2018-11-19 |
公开(公告)号: | CN111210496B | 公开(公告)日: | 2022-11-25 |
发明(设计)人: | 叶轩;卢强 | 申请(专利权)人: | 腾讯科技(深圳)有限公司 |
主分类号: | G06T15/00 | 分类号: | G06T15/00;G06T15/04;H04L67/06 |
代理公司: | 深圳市深佳知识产权代理事务所(普通合伙) 44285 | 代理人: | 王仲凯 |
地址: | 518057 广东省深圳*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 图片 解码 方法 装置 以及 设备 | ||
1.一种图片解码方法,其特征在于,应用于终端,所述终端中安装有操作系统以及应用程序,所述应用程序包括应用逻辑模块、JS引擎、渲染引擎、图片下载模块以及第一图片解码器,所述方法包括:
所述应用逻辑模块生成图片下载及解码指令,向所述JS引擎发送所述图片下载及解码指令,所述图片下载及解码指令中携带有目标图片对应的下载路径;
所述JS引擎接收所述图片下载及解码指令,将所述图片下载及解码指令发送至所述渲染引擎;
所述渲染引擎接收所述图片下载及解码指令,调用所述图片下载模块,向所述图片下载模块发送所述下载路径;
所述图片下载模块根据所述下载路径下载所述目标图片,将所述目标图片存储于文件系统,向所述渲染引擎返回所述目标图片在所述文件系统中的存储地址;
所述渲染引擎调用所述第一图片解码器,向所述第一图片解码器发送所述存储地址;
所述第一图片解码器接收所述存储地址,根据所述存储地址获取所述目标图片,调用操作系统内置的解码库对所述目标图片进行解码得到位图。
2.根据权利要求1所述方法,其特征在于,在所述向所述渲染引擎返回所述目标图片在所述文件系统中的存储地址之后,且在所述渲染引擎调用所述第一图片解码器之前,所述方法还包括:
所述渲染引擎判断所述目标图片是否属于白名单,所述白名单中存储有存在安全隐患的图片对应的图片类型;
若是,则所述渲染引擎调用所述应用程序中的第二图片解码器,向所述第二图片解码器发送所述存储地址;所述第二图片解码器接收所述存储地址,根据所述存储地址获取所述目标图片;所述第二图片解码器调用其内置的解码库,对所述目标图片进行解码得到位图;
若否,则再执行所述步骤:所述渲染引擎调用所述第一图片解码器,向所述第一图片解码器发送所述存储地址;所述第一图片解码器接收所述存储地址,根据所述存储地址获取所述目标图片,调用操作系统内置的解码库对所述目标图片进行解码得到位图。
3.根据权利要求1所述方法,其特征在于,所述方法还包括:
所述渲染引擎根据所述位图的位图句柄为纹理对象指定纹理图像数据,将所述纹理对象传递给所述终端中的图形处理器;
所述图形处理器基于所述纹理图像数据进行纹理映射,以在所述终端的屏幕上显示应用界面元素。
4.根据权利要求3所述方法,其特征在于,所述操作系统为Android系统;
则所述渲染引擎根据所述位图的位图句柄为纹理对象指定纹理图像数据,包括:
所述渲染引擎采用AndroidBitmap_getInfo函数从所述位图的位图句柄获得位图信息,所述位图信息包括宽度、高度以及像素格式;
所述渲染引擎采用AndroidBitmap_lockPixels函数对所述位图的像素缓存进行上锁,以获得所述像素缓存的指针,并根据所述指针以及所述位图信息为纹理对象指定纹理图像数据。
5.根据权利要求1至3任一项所述方法,其特征在于,所述应用程序为游戏应用程序,所述应用逻辑模块为游戏应用逻辑模块,则所述方法还包括:
所述游戏应用逻辑模块根据用户在游戏界面上的操作,生成所述图片下载及解码指令。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于腾讯科技(深圳)有限公司,未经腾讯科技(深圳)有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201811377772.1/1.html,转载请声明来源钻瓜专利网。