使用arraybuffer来创建image
let img = new Image()
img.onload = () => {
r(img)
}
img.onerror = () => {
r(null)
}
const b64 = crypto.enc.Base64.stringify(crypto.lib.WordArray.create(data))
img.src = `data:image/*;base64,${b64}`
然后创建texture
const texture = new Texture2D()
texture.reset({
width: img.naturalWidth,
height: img.naturalHeight,
format: Texture2D.PixelFormat.RGBA8888,
mipmapLevel: 0,
})
texture.uploadData(img, 0, 0)
texture.updateMipmaps()
texture.updateImage()
但是最终显示出来的内容是花屏的,全都是纯色或者一些渐变色的色块。
但如果先把arraybuffer保存为文件,再loadRemote就是正常的。
另外 :我上面的代码在web平台是完全正常的。