嗨stackoverflow团队我在将android base64字符串转换为位图时出现问题。我正在使用相机来获取图像,我将图像转换为base64字符串以发布到服务器。我想在图像视图中显示该图像,因此如何在从相机获取图像后在ImageView中显示图像。请帮我解决问题。将base64字符串转换为位图的Android代码
回答
假设你的图像数据是在一个名为myImageData字符串,下面应该做的伎俩:
byte[] imageAsBytes = Base64.decode(myImageData.getBytes(), Base64.DEFAULT);
ImageView image = (ImageView)this.findViewById(R.id.ImageView);
image.setImageBitmap(
BitmapFactory.decodeByteArray(imageAsBytes, 0, imageAsBytes.length)
);
对于Base64编码解码,可以使用http://iharder.sourceforge.net/current/java/base64/由于Android不包含2.2之前的Base64支持。
请注意,我没有真正运行此代码,因此您必须重新检查错误。
这是否也适用于base64编码的png? – pfrank 2013-12-20 07:30:27
在我的情况:'字节[] imageBitmap = Base64.decode(mEncodedImageData, \t \t \t \t \t \t \t Base64.DEFAULT); ' – 2015-04-04 09:12:43
编辑:接受职位现在已经更新到我的回答下面复制,要么是正确的
接受的答案是不是至少在豆形软糖,奇巧或棒棒糖正确的。您应该使用以下适用于JPEG,PNG或GIF图像的内容。
byte[] imageAsBytes = Base64.decode(myImageData.getBytes(), Base64.DEFAULT);
ImageView image = (ImageView)this.findViewById(R.id.ImageView);
image.setImageBitmap(
BitmapFactory.decodeByteArray(imageAsBytes, 0, imageAsBytes.length)
);
Tur - 这是不是TuomasR的代码(这是公认的答案)? – AshesToAshes 2015-08-09 08:13:45
@AshesToAshes现在他们已经更新了他们的答案,以复制我的(http://stackoverflow.com/posts/3801881/revisions) – Apqu 2015-08-13 12:45:47
记下简单的方法传递Base64编码字符串,它会返回位图对象
Bitmap Base64ToBitmap(String myImageData)
{
byte[] imageAsBytes = Base64.decode(myImageData.getBytes(),Base64.DEFAULT);
return BitmapFactory.decodeByteArray(imageAsBytes, 0, imageAsBytes.length);
}
这对我有效。你能否理解这种转换? – 2016-11-01 09:47:13
- 1. 位图 - Base64编码字符串 - 位图转换的Android
- 2. Android将位图转换为Base64字符串问题
- 3. Android:将字符串转换为位图
- 4. Android的位图转换为Base64字符串
- 5. 将.net字符串对象转换为base64编码字符串
- 6. 将png或jpg图像转换为Android中的Base64字符串
- 7. 将base64字符串转换为Android中的图像
- 8. 如何将base64字符串图像转换为android中的blob?
- 9. 将Base64字符串转换为android中的图像
- 10. 将base64字符串转换为Android中的图像
- 11. 如何在Android中将Base64 Blob字符串转换为图像?
- 12. java将inputStream转换为base64字符串
- 13. 将base64字符串转换为X509 certifcate
- 14. 将位图转换为字符串
- 15. Android将字符串编码为位图?
- 16. 解码Base64的字符串作为Android中位图
- 17. 将意图转换为字符串Android
- 18. Android - 将字符串转换为图像
- 19. 转换图片为Base64字符串的Android
- 20. 如何将java.sql.blob转换为java中的base64编码字符串
- 21. 将responseObject base64编码的字符串转换为UIImage
- 22. 将BASE64字符串转换为BASE16(HEX)字符串?
- 23. 如何将Base64字符串解码为Android中的位图图像
- 24. 位图将文本转换为一个字符串的Android
- 25. 使用Phonegap将图像转换为iOS上的Base64字符串
- 26. 将base64字符串转换为与OpenCV兼容的图像
- 27. 如何将图像转换为文件中的Base64字符串?
- 28. 将图像文件转换为base64使用javascript的字符串
- 29. 将ASW S3上的.tif图像转换为base64字符串C#
- 30. base64转换字符串到字节代码的Java
只是为了更好的理解:你为什么想用base64图像先进行编码,然后发送解码它将其再次显示到ImageView中?首先获取它并将其显示在ImageView中,然后将其编码到base64中以将其发送到服务器会不会更容易? ^^ – Tseng 2010-09-27 18:56:29