Unity LoadImage LoadRawTextureData 方法加载 Bitmap

LoadImage 只能加载Jpg或者Png的压缩格式图片 ,需要传入字节数组

LoadRawTextureData 加载原始图片数据 ,需要知道图片大小,格式

Android 想把 图片数据通过byte[]数组传到Unity

可以用bitmap压缩成Png格式的byte[].

如果要传原始图片数据,直接从bitmap获取byte[],数据从左上开始,在Unity中使用LoadRawTextureData加载的时候,数据从左下开始,因此图片竖着反转了。

 private static byte[] loadBitmapByteArray(Bitmap bitmap) {
        Matrix m = new Matrix();
        m.postScale(1, -1);
        bitmap = Bitmap.createBitmap(bitmap, 0, 0, bitmap.getWidth(), bitmap.getHeight(), m, true);
        int bytes = bitmap.getByteCount();
        ByteBuffer buffer = ByteBuffer.allocate(bytes);
        bitmap.copyPixelsToBuffer(buffer);
        byte[] array = buffer.array();
        return array;
    }

格式是RGBA32

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值