creator中如何获取/修改纹理(图片)数据

自己做了一些尝试:

  1. 通过cc.loader.loadRes后获得的纹理对象(cc.Texture2D)是没有办法取得图片的内存数据的。
  2. Image对象加载后,直接通过gl.texImage2D函数生成webgl的纹理对象了。
  3. 我利用cc.RenderTexture的功能来间接获取,于是有下面测试代码:
    ----cc.loader.loadRes(“test”, cc.Texture2D, (err: Error, res: cc.Texture2D) => {
    --------let rt = new cc.RenderTexture();
    --------rt.initWithSize(res.width, res.height);
    --------rt.drawTextureAt(res, 0, 0);
    --------let data = rt.readPixels();
    ----}
    然后会获得这样一个错误:
    **[.WebGL-0C81AAC0]GL ERROR :GL_INVALID_FRAMEBUFFER_OPERATION : **
    glReadPixels: framebuffer incomplete
    返回的data里面全是0,没能正确读取到纹理数据。

求助:
如何才能在内存中构造出一个图片的RGBA格式的数据(Uint8Array)

1赞

这是怎么回事啊。。。

这是怎么回事啊。。。

现在遇到和你一样的问题。。。。先试loadRes然后drawTextureAt就没效果还报错

我也遇到了同样的问题!有办法了吗?

看一下加载的纹理的_image属性是不是空的