Android将位图转换为Base64字符串问题
我在将位图转换为Base64时遇到问题。我想发布一些来自相机或画廊的图片。当我将它们作为图像获取时,我必须转换为base64,但当我获取字符串并使用测试以查看我的图像时。结果看起来质量很差。我怎样才能解决这个问题请帮助我? 这是我的密码:Android将位图转换为Base64字符串问题,android,image,bitmap,base64,Android,Image,Bitmap,Base64,我在将位图转换为Base64时遇到问题。我想发布一些来自相机或画廊的图片。当我将它们作为图像获取时,我必须转换为base64,但当我获取字符串并使用测试以查看我的图像时。结果看起来质量很差。我怎样才能解决这个问题请帮助我? 这是我的密码: protected void onActivityResult(int requestCode, int resultCode, Intent imageReturnedIntent) { super.onActivityResult(requestC
protected void onActivityResult(int requestCode, int resultCode, Intent imageReturnedIntent) {
super.onActivityResult(requestCode, resultCode, imageReturnedIntent);
switch(requestCode)
{
case 0:
if(resultCode == RESULT_OK)
{
Bundle extras = imageReturnedIntent.getExtras();
Bitmap selectedImage = (Bitmap)extras.get("data");
secilenImage.setImageBitmap(selectedImage);
String encodedImage;
ByteArrayOutputStream stream = new ByteArrayOutputStream();
try
{
selectedImage.compress(Bitmap.CompressFormat.PNG, 100, stream);
byte[] b = stream.toByteArray();
encodedImage = Base64.encodeToString(b, Base64.DEFAULT);
images.add(i, encodedImage);
Log.d("StringForCamera: ", encodedImage);
stream.close();
}
catch(IOException e)
{
e.printStackTrace();
}
secilenImage.setImageBitmap(selectedImage);
secilenImage.setEnabled(false);
}
break;
case 1:
if(resultCode == RESULT_OK)
{
Uri imageUri = imageReturnedIntent.getData();
Bitmap selectedImage = null;
String encodedImage;
try
{
selectedImage = MediaStore.Images.Media.getBitmap(this.getContentResolver(),imageUri);
ByteArrayOutputStream byteArrayBitmapStream = new ByteArrayOutputStream();
selectedImage.compress(Bitmap.CompressFormat.PNG, 100, byteArrayBitmapStream);
byte[] b = byteArrayBitmapStream.toByteArray();
encodedImage = Base64.encodeToString(b, Base64.NO_WRAP);
images.add(i, encodedImage);
Log.d("StringForGallery: ",encodedImage);
}
catch(IOException e)
{
e.printStackTrace();
}
secilenImage.setImageBitmap(selectedImage);
secilenImage.setEnabled(false);
}
break;
}
++i;
}
这只是图像的缩略图。因此质量很低。您好,谢谢您的回答。那个么我怎样才能从相机上得到图像呢?编辑:我在gallery上也有同样的问题。在互联网上和这个网站上用相机拍照有数百个例子。你的问题经常被报道。只是谷歌的使用意图。
(Bitmap)extras.get("data");