gpt4 book ai didi

android - 无需压缩即可将位图编码和解码为字节数组

转载 作者:太空宇宙 更新时间:2023-11-03 12:53:44 25 4
gpt4 key购买 nike

我试图在不使用 bitmap.compress 的情况下将位图编码和解码为字节数组,但是当我解码数组时,BitmapFactory.decodeByteArray 总是返回 NULL

编码方法如下:

public byte[] ToArray(Bitmap b)
{
int bytes = b.getByteCount();

ByteBuffer buffer = ByteBuffer.allocate(bytes); //Create a new buffer
b.copyPixelsToBuffer(buffer); //Move the byte data to the buffer

// DECODE
String imgString = Base64.encodeToString(buffer.array(), Base64.NO_WRAP);
byte[] ret = Base64.decode(imgString, Base64.DEFAULT);
imgString = null;

return ret;
}

有什么帮助吗?

最佳答案

BitmapFactory 解码压缩的 jpeg。如果您想使用原始像素进行操作(就像您使用 b.copyPixelsToBuffer(buffer); 一样,我建议您使用配套方法 Bitmap.copyPixelsFromBuffer(buffer) 来恢复位图(我想你需要为此分配新的可变位图)

附言未压缩的图像比压缩的图像消耗更多的内存

关于android - 无需压缩即可将位图编码和解码为字节数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24910620/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com