【技术实现步骤摘要】
一种图片解码方法、装置以及设备
本申请涉及图片处理
,尤其涉及一种图片解码方法、装置、设备以及计算机存储介质。
技术介绍
随着移动设备的普及,适应于移动终端的应用程序种类也越来越多,目前绝大部分应用程序在运行过程中,需要获得图片并进行纹理映射,以给用户提供沉浸式交互体验;例如,在游戏应用程序中需要对图片进行纹理映射,从而为用户提供更逼真的游戏场景,提高用户沉浸式体验。目前游戏应用程序在进行纹理映射以渲染游戏界面元素时,往往需要借助游戏应用程序中的渲染引擎先对图片进行解码得到位图,然后再基于位图进行纹理映射。然而,目前市面上已有的游戏应用程序中的渲染引擎大多集成了多种图片类型的优秀解码库,以满足游戏应用程序的高解码率要求以及支持多类型图片解码的要求;但是,这样就造成整个应用程序的安装包体积过大,而体积过大的游戏应用程序,其在内存有限的移动终端运行时,其运行速率也会受限,有时甚至无法保证正常运行。另外,渲染引擎中集成的解码库有时会出现与移动端机型的兼容性问题。因此,目前亟需研究一种图片解码方案,既能够轻量化 ...
【技术保护点】
1.一种图片解码方法,其特征在于,应用于终端,所述终端中安装有操作系统以及应用程序,所述应用程序包括应用逻辑模块、JS引擎、渲染引擎、图片下载模块以及第一图片解码器,所述方法包括:/n所述应用逻辑模块生成图片下载及解码指令,向所述JS引擎发送所述图片下载及解码指令,所述图片下载及解码指令中携带有目标图片对应的下载路径;/n所述JS引擎接收所述图片下载及解码指令,将所述图片下载及解码指令发送至所述渲染引擎;/n所述渲染引擎接收所述图片下载及解码指令,调用所述图片下载模块,向所述图片下载模块发送所述下载路径;/n所述图片下载模块根据所述下载路径下载所述目标图片,将所述目标图片存 ...
【技术特征摘要】
1.一种图片解码方法,其特征在于,应用于终端,所述终端中安装有操作系统以及应用程序,所述应用程序包括应用逻辑模块、JS引擎、渲染引擎、图片下载模块以及第一图片解码器,所述方法包括:
所述应用逻辑模块生成图片下载及解码指令,向所述JS引擎发送所述图片下载及解码指令,所述图片下载及解码指令中携带有目标图片对应的下载路径;
所述JS引擎接收所述图片下载及解码指令,将所述图片下载及解码指令发送至所述渲染引擎;
所述渲染引擎接收所述图片下载及解码指令,调用所述图片下载模块,向所述图片下载模块发送所述下载路径;
所述图片下载模块根据所述下载路径下载所述目标图片,将所述目标图片存储于文件系统,向所述渲染引擎返回所述目标图片在所述文件系统中的存储地址;
所述渲染引擎调用所述第一图片解码器,向所述第一图片解码器发送所述存储地址;
所述第一图片解码器接收所述存储地址,根据所述存储地址获取所述目标图片,调用操作系统内置的解码库对所述目标图片进行解码得到位图。
2.根据权利要求1所述方法,其特征在于,在所述向所述渲染引擎返回所述目标图片在所述文件系统中的存储地址之后,且在所述渲染引擎调用所述第一图片解码器之前,所述方法还包括:
所述渲染引擎判断所述目标图片是否属于白名单,所述白名单中存储有存在安全隐患的图片对应的图片类型;
若是,则所述渲染引擎调用所述应用程序中的第二图片解码器,向所述第二图片解码器发送所述存储地址;所述第二图片解码器接收所述存储地址,根据所述存储地址获取所述目标图片;所述第二图片解码器调用其内置的解码库,对所述目标图片进行解码得到位图;
若否,则再执行所述步骤:所述渲染引擎调用所述第一图片解码器,向所述第一图片解码器发送所述存储地址;所述第一图片解码器接收所述存储地址,根据所述存储地址获取所述目标图片,调用操作系统内置的解码库对所述目标图片进行解码得到位图。
3.根据权利要求1所述方法,其特征在于,所述方法还包括:
所述渲染引擎根据所述位图的位图句柄为纹理对象指定纹理图像数据,将所述纹理对象传递给所述终端中的图形处理器;
所述图形处理器基于所述纹理图像数据进行纹理映射,以在所述终端的屏幕上显示应用界面元素。
4.根据权利要求3所述方法,其特征在于,所述操作系统为Android系统;
则所述渲染引擎根据所述位图的位图句柄为纹理对象指定纹理图像数据,包括:
所述渲染引擎采用AndroidBitmap_getInfo函数从所述位图的位图句柄获得位图信息,所述位图信息包括宽度、高度以及像素格式;
所述渲染引擎采用AndroidBitmap_lockPixels函数对所述位图的像素缓存进行上锁,以获得所述像素缓存的指针,并根据所述指针以及所述位图信息为纹理对象指定纹理图像数据。
5.根据权利要求1至3任一项所述方法,其特征在于,所述应用程序为游戏应用程序,所述应用逻辑模块为游戏应用逻辑模块,则所述方法还包括:
所述游戏应用逻辑模块根据用户在游戏界面上的操作,生成所述图片下载及解码指令。
<...
【专利技术属性】
技术研发人员:叶轩,卢强,
申请(专利权)人:腾讯科技深圳有限公司,
类型:发明
国别省市:广东;44
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。