gpt4 book ai didi

android - 在android应用程序中使用Base64进行图像编码和解码

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

在我的应用程序中,我在将图像编码和解码为字符串并将其传递给网络服务时遇到了一个小问题。 获取位图图像后,我将其转换为 byte[] 并编码为 String 值,但在某些情况下它显示错误我不知道它为什么会出现。 还有一个疑问是 Base64 类仅支持将 Bitmap 图像转换为 String 或任何其他可用于执行相同操作的工具。

提前致谢...

最佳答案

在 OutOfMemoryError 的情况下,下面的代码对我有帮助。

public String BitMapToString(Bitmap bitmap){
ByteArrayOutputStream baos=new ByteArrayOutputStream();
bitmap.compress(Bitmap.CompressFormat.JPEG,100, baos);
byte [] b=baos.toByteArray();
String temp=null;
try{
System.gc();
temp=Base64.encodeToString(b, Base64.DEFAULT);
}catch(Exception e){
e.printStackTrace();
}catch(OutOfMemoryError e){
baos=new ByteArrayOutputStream();
bitmap.compress(Bitmap.CompressFormat.JPEG,50, baos);
b=baos.toByteArray();
temp=Base64.encodeToString(b, Base64.DEFAULT);
Log.e("EWN", "Out of memory error catched");
}
return temp;
}

基本上我所做的是:我捕获了 OutofMemoryError 并在该捕获 block 中将其大小调整了 50%,然后将其编码为字符串。

关于android - 在android应用程序中使用Base64进行图像编码和解码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11627287/

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