一张10乘10的png图, 如果知道了100个像素点的rgba, 怎么转成 texture 使用

求助一下,图形学。
Title 无效;请描述得更详尽些
Title 无效;请描述得更详尽些
Title 无效;请描述得更详尽些

let texture = new cc.RenderTexture();
let w = 10,h = 10,i = 0;
let data = new Uint8Array(w*h*4);
for (let x = 0; x < w; x++) {
       for (let y = 0; y < h; y++) {
            let c = 255*Math.random();
            data[i++] = c;
            data[i++] = c;
            data[i++] = c;
            data[i++] = 255;
      }
 }
//data为具体的像素数据
texture.initWithSize(w,h);
texture.initWithData(data,cc.Texture2D.PixelFormat.RGBA8888,w,h)

//转成spriteFrame
let spriteFrame = new cc.SpriteFrame();
spriteFrame.setTexture(texture);

//使用
let sprite = this.node.getComponent(cc.Sprite);
sprite.spriteFrame = spriteFrame;

有2dx的方法么。找了texture没找到

spr = Sprite::create(fileName)
texture = spr->getTexture()

老哥,现在没有file.png这个文件。
只有rgba这100个像素

楼上这个fileName变量,说的应该是新创建的这个Sprite的变量名,而不是找你的file.png这个文件吧?

2dx有类似方法
bool Texture2D::initWithData(const void *data, ssize_t dataLen, Texture2D::PixelFormat pixelFormat, int pixelsWide, int pixelsHigh, const Size& /contentSize/)
流程一样,数组->Texture2D->SpriteFrame->Sprite

你还可以把数据保存为图片保存在本地,然后去调用;

initWithData->initWithMipmaps->后面会报错 cocos2d: Texture2D: Error uploading compressed
const void *data这个data是rgba四个字节按顺序排列的么

数据如何保存到图片:)