如何从Texture2d对象中获取ArrayBuffer

我已经找到了Uint8Array转Texture2d的方法,逆向操作应该也是有对应方法的。
google了很久没找到答案,只好来论坛请教大佬们了。

1赞

补充一点,下面这个方法在浏览器可用,但是在微信小程序不行。

// this.textures[0] 是 Texture2d对象
size = cc.size(this.textures[0].width,this.textures[0].height);
var render = new cc.RenderTexture();
render.initWithElement(this.textures[0].getHtmlElementObj());
var renderData = this.createQuadData(size.width, size.height); // 构造Uint8Array对象
render.readPixels(renderData);

找到方法了,代码如下

size = cc.size(this.textures[0].width,this.textures[0].height);
var render = new cc.RenderTexture();
render.initWithSize(size.width,size.height);
render.drawTextureAt(this.textures[0], 0, 0);
var renderData = this.createQuadData(size.width, size.height);
render.readPixels(renderData);

另外从中发现了一个问题,不论是creator.d.ts文件还是官方api文件都没有写RenderTexture.drawTextureAt这个方法。

感谢!非常给力!

不客气,哈哈哈

请问如何构造Uint8Array对象
方便发代码吗

求助 3.8.3 版本也没有drawTextureAt这个