#c# #android #xamarin
#c# #Android #xamarin
Вопрос:
Я разрабатываю приложение для обработки изображений, в котором пользователю нужно нажать на какую-либо кнопку, чтобы открыть файловую систему внутреннего хранилища для поиска файлов изображений, мне нужно отобразить изображение, выбранное пользователем, внутри ImageView
объекта на моем макете. У меня есть код ниже, но когда я выбираю образец изображения, изображение не отображается в моем ImageView
объекте, оно ничего не показывает. Я начал просмотр файлов с помощью этого кода….
//show the file manager with extensions Intent image_intent= new Intent(Intent.ActionOpenDocument); image_intent.AddCategory(Intent.CategoryOpenable); //set the type for image files image_intent.SetType("image/*"); StartActivityForResult(image_intent, 899);
а затем я переопределяю OnActivityResult()
метод, чтобы я мог получать данные изображения из данных о намерениях, передаваемых обратно, когда происходит это событие, но в моем коде, похоже, есть небольшая проблема. Вот код, который должен создать растровое изображение из файла, а затем отобразить его в виде изображения
protected override void OnActivityResult(int requestCode, [GeneratedEnum] Result resultCode, Intent data) { if (resultCode == Result.Ok) { if (requestCode == 899) { //display the image in the ImageView Android.Net.Uri myuri = Android.Net.Uri.FromFile(new File(data.Data.Path)); File myfile = new File(myuri.ToString()); //define a new set of BitmapOptions BitmapFactory.Options options = new BitmapFactory.Options(); options.OutWidth = imageView.Width; options.OutHeight = imageView.Height; Bitmap mymap = BitmapFactory.DecodeFile(myfile.AbsolutePath, options); //display it in the imageview imageView.SetImageBitmap(mymap); Toast.MakeText(this, "Loading the image into the ImageView", ToastLength.Long).Show(); } } base.OnActivityResult(requestCode, resultCode, data); }
Что я делаю не так, спасибо Вам за вашу помощь.
Комментарии:
1. вы прошли через этот код, чтобы убедиться, что он выполняется должным образом? Вы проверяли наличие каких-либо исключений или ошибок?
2.
imageView.SetImageUri(data.Data);
. Вот и все. Вы злоупотребляете классом файла для своего uri.3. @ blackapps Позвольте мне попробовать изменения, которые вы предложили в своем комментарии, Спасибо за ваши усилия
4. @Jason , да, у меня есть изображение в каталоге с возможностью рисования, и оно отображается, но когда я просматриваю файл изображения и нажимаю на него, оно не отображается в представлении изображения
5.
it displays but when I browse an image file and tap on it it does not show up in the image view
Вы имеете в виду изображение в памяти вашего устройства?