我正在从图库中选择图片。
这是我正在使用的代码
Intent intent = new Intent();
intent.SetType("image/*");
intent.SetAction(Intent.ActionGetContent);
this.StartActivityForResult(Intent.CreateChooser(intent,
"Select Picture"), SelectPicture);
我在 data.DataString
content://media/external/images/media/11
中获取 Activty 结果中的这个字符串..
这不是所选图像的完整路径。但最终我想将其转换为位图。
在事件结果中..
protected override void OnActivityResult(int requestCode, Result resultCode, Intent data)
Bitmap bitmap = (Android.Graphics.Bitmap)data.Extras.Get("data");
给出空错误。
当我从相机捕获图像时,如何工作正常而不是从图库中选择图像,我得到了位图。我正在使用的代码:
var cameraIntent = new Intent(MediaStore.ActionImageCapture);
cameraIntent.PutExtra(MediaStore.ExtraOutput, imageUri);
this.StartActivityForResult(cameraIntent, TakePicture);
最佳答案
要从 Uri 转换为位图,请遵循以下示例:convertUriToBitmap . 在monodroid中代码如下:
private Android.Graphics.Bitmap NGetBitmap(Android.Net.Uri uriImage)
{
Android.Graphics.Bitmap mBitmap = null;
mBitmap = Android.Provider.MediaStore.Images.Media.GetBitmap(this.ContentResolver, uriImage);
return mBitmap;
}
关于xamarin.android - 从 URI 获取位图,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10649122/