我尝试使用此代码
protected override void OnActivityResult(int requestCode, [GeneratedEnum] Result resultCode, Intent data)
{
if((requestCode == m) && (resultCode==Result.Ok)&&(data !=null))
{
string ni = GetPathToImage(data.Data);
/// string img = GetPathToImage(data.Data);
System.Drawing.Bitmap imge = new System.Drawing.Bitmap(ni);
}
并使用此权限
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
但是我得到这个错误
Unhandled Exception:
System.TypeInitializationException: The type initializer for 'System.Drawing.Bitmap' threw an exception.
答案 0 :(得分:0)
Android不使用System.Drawing.Bitmap
,它有您应使用的自己的Graphics API,而不是Android.Graphics.Bitmap
,因此在您的情况下将是这样的:
using Android.Provider;
using Android.Graphics;
然后在OnActivityResult
方法中使用类似的方法:
protected override void OnActivityResult(int requestCode, [GeneratedEnum] Result resultCode, Intent data)
{
if((requestCode == m) && (resultCode==Result.Ok)&&(data !=null))
{
var imageUri = data.Data;
Bitmap bitmap = MediaStore.Images.Media.GetBitmap(this.ContentResolver, imageUri);
}
}