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