从rgba创建图片问题

使用一个rgba的集合来创建图片,cocos creator和unity表现不一致
具体代码cocos代码

            let texture = new cc.RenderTexture();
            let w = 64,h = 47,i = 0;
            let data = new Uint8Array(w*h*4);
            
            arr.forEach((element)=>{
                data[i++] = element.r;
                data[i++] = element.g;
                data[i++] = element.b;
                data[i++] = element.a;
            });
            texture.initWithData(data,cc.Texture2D.PixelFormat.RGBA8888,w,h,cc.size(w,h));
            let spriteFrame = new cc.SpriteFrame();
            spriteFrame.setTexture(texture);
            this.node.getChildByName('sp').setContentSize(cc.size(w,h));
            this.node.getChildByName('sp').getComponent(cc.Sprite).spriteFrame = spriteFrame;

unity 代码

	FileStream f = new FileStream("ee.colors",FileMode.Open);
	Color32[] colors = new Color32[f.Length/4];
	for (int i = 0; i < colors.Length; i++) {
		colors[i].r = (byte)f.ReadByte();
		colors[i].g = (byte)f.ReadByte();
		colors[i].b = (byte)f.ReadByte();
		colors[i].a = (byte)f.ReadByte();

	}
	Texture2D texture2D = new Texture2D(64, 47);
	texture2D.SetPixels32(colors);
	texture2D.filterMode = FilterMode.Point;
	texture2D.Apply();
//im2 ugui Image
	im2.sprite = Sprite.Create(texture2D, new Rect(0, 0,64,47),new Vector2(0.5f, 0.5f));
	im2.SetNativeSize();
	`

data.zip (12.2 KB)
这是js代码和二进制文件