0
こんにちは、私はギャラリーから画像を選択して画像を切り抜いて、一部のフォルダに画像を保存します。ギャラリーから画像を選んで、画像を保存し、画像をxamarinのプロフィール画像として保存します。android
この点
enter code here
ます。private void ProfilePic_Click(オブジェクト送信者、EventArgsの電子) { 新しいテント(=インテント)で私を助けてください。
Intent.SetType("image/*");
Intent.SetAction(Intent.ActionGetContent);
StartActivityForResult(Intent.CreateChooser(Intent, "EZ-Gift Profile Pic"), PickImageId);
}
protected override void OnActivityResult(int requestCode, Result resultCode, Intent data)
{
if ((requestCode == PickImageId) && (resultCode == Result.Ok) && (data != null))
{
Android.Net.Uri uri = data.Data;
//Toast.MakeText(this, path, ToastLength.Long).Show();
Toast.MakeText(this, uri.ToString(), ToastLength.Long).Show();
ProfilePic.SetImageURI(uri);
string path = GetPathToImage(data.Data);
edit = prefs.Edit();
edit.PutString("ProfilePicUri", uri.ToString());
Toast.MakeText(this, uri.ToString(), ToastLength.Long).Show();
Toast.MakeText(this, path, ToastLength.Long).Show();
}
}
private string GetPathToImage(Android.Net.Uri contentURI)
{
ICursor cursor = ContentResolver.Query(contentURI, null, null, null, null);
cursor.MoveToFirst();
string documentId = cursor.GetString(0);
documentId = documentId.Split(':')[1];
cursor.Close();
cursor = ContentResolver.Query(
Android.Provider.MediaStore.Images.Media.ExternalContentUri,
null, MediaStore.Images.Media.InterfaceConsts.Id + " = ? ", new[] { documentId }, null);
cursor.MoveToFirst();
string path = cursor.GetString(cursor.GetColumnIndex(MediaStore.Images.Media.InterfaceConsts.Data));
cursor.Close();
return path;
}