Uint8Array 如何转 ImageAsset 或者TextureBased对象 ?

  • Creator 版本: 3.8
  • 目标平台: 小游戏
  • 重现方式:无

去年有一个提问: https://forum.cocos.org/t/topic/143244, 22年到现在也没有解决方案,因为我需要下载一些关键图集,为了保护图片,所以采用传输中加密的方式。那么就没法直接通过loadRemote借用引擎自身的实现了。目前我采用的是load方法, 但是拿到的是string, 那么如何实现如下链条上,数据的封装和转换:

string === > Uint8Array =(???)= > ImageAsset /TextureBased ===> SpriteFrame/Atlas

这个链条中, 其他步骤费点力气都有一些地方能找到类似的思路, 但是 =(???)= >步骤目前除了那个22年的帖子没有找到其他地方有讨论, 那个帖子也没有一个最终解决方案。

背景:
之前发了一个问题:https://forum.cocos.org/t/topic/154888/5, 可能提的不太清楚, 另外那个22年的帖子也一直没人回答,所以重新提交一个新的问题。

希望能帮忙给点思路, 提前感谢!

1赞

3.x 如何像素转换图片 - Creator 3.x - Cocos中文社区

谢谢,

试了一下, 3.x 如何像素转换图片 - Creator 3.x - Cocos中文社区 里面提到的这个方法如果拿到像素数据似乎可以. 但是如果拿到的是一个原始的PNG封装好像不行啊, 难道还要搞下PNG拆包? :joy:

不知道有没有直接从PNG数据拿到ImageAsset的接口暴露出来?

已解决:
https://forum.cocos.org/t/topic/139755/10?u=jomu_7
感谢 kevin_cocos的分享