Форум программистов, компьютерный форум, киберфорум
Наши страницы

Xamarin

Войти
Регистрация
Восстановить пароль
 
Дима1237
0 / 0 / 0
Регистрация: 27.04.2015
Сообщений: 4
#1

C# Xamarin Android Как конвертировать изображения Uri в Bitmap - Xamarin

17.07.2015, 14:42. Просмотров 1002. Ответов 1
Метки нет (Все метки)

Я вот на пространствах интернета отыскал вот такой способ:
C#
1
 Bitmap bitmap = MediaStore.Images.Media.getBitmap(this.getContentResolver(), imageUri);
При этом у меня вылетает ошибка, мол MainActivity не содержит определения для getContentResolver, ну и не был найден метод решения... Решения этой ошибки найти не могу.

Кто может подсказать, как конвертировать изображения Uri в Bitmap?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
17.07.2015, 14:42
Здравствуйте! Я подобрал для вас темы с ответами на вопрос C# Xamarin Android Как конвертировать изображения Uri в Bitmap (Xamarin):

C# Xamarin Android захват изображения - Xamarin
Подскажите, пожалуйста, как решить задачу. Создал приложения на котором есть ImageView и кнопка, которая открывает камеру. using...

Как создать приложения Android Xamarin - Xamarin
Добрый день, можете посоветовать литературу по созданию Android приложений? С чего нужно начать?

Как сделать таймер зависящий от реального времени в Android приложении. Xamarin - Xamarin
Только начал разбираться с разработкой на Android. И появилась нужда сделать таймер на длительное время. Существует куча игр, где есть...

Xamarin Android - Xamarin
Подскажите где можно достать руководство по Xamarin, подробное описание элементов управления (ButtonЫ, textView...)

Xamarin.Android AngleSharp "System.NullReferenceException" Как корректно выполнить место в коде? - Xamarin
Пытаюсь спарсить содержимое страницы одного сайта в приложении на Ведроид. Использую AngleSharp. При выполнении программы выскакивает...

Диплом на xamarin android - Xamarin
Здравствуйте. Хочу написать программу кинотеатр с бронированием мест. Клиент- серверное приложение. Подскажите с чего начать. Какие уроки...

1
Дима1237
0 / 0 / 0
Регистрация: 27.04.2015
Сообщений: 4
18.07.2015, 17:57  [ТС] #2
Попробовал как-то так:
C#
1
2
  Bitmap bitmap = MediaStore.Images.Media.GetBitmap(ContentResolver, Android.Net.Uri.FromFile(_file));
                _imageView.SetImageBitmap(bitmap);
Вот только с этим решениям, непонятно по какой причине, после 2-й фотки программа сама закрывается. При этом никакой ошибки не вылетает... Не могу понять в чём проблема...
Код программы:
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
 
using System.Data;
using System.IO;
using SQLite;
 
using Android.App;
using Android.Content;
using Android.OS;
using Android.Runtime;
using Android.Views;
using Android.Widget;
using SqLiteConnection.DataBaseCreate;
 
using Android.Content.PM;
using Android.Net;
using Android.Graphics;
using Android.Provider;
using Java.Net;
using Android.Media;
using Java.IO; 
 
namespace Test1
{
 
 
    [Activity(Label = "Main_Layout_Activity", Theme = "@android:style/Theme.NoTitleBar")]
            
    public class Main_Layout_Activity : Activity
    {
        
       
 
        Java.IO.File _file;
        Java.IO.File _dir;
        ImageView _imageView;
 
        
        private Button bExit;
        private TextView getTxtViewUser;
        public string myName = MainActivity.MainRef.UserNameGET();
        protected override void OnCreate(Bundle bundle)
        {
 
            base.OnCreate(bundle);
            SetContentView(Resource.Layout.Main_layout);
 
            getTxtViewUser = FindViewById<TextView>(Resource.Id.textViewUser);
 
            
           // DBRepository dbr = new DBRepository();
           // string userId = dbr.FindUserNameAndId(myName);
            getTxtViewUser.Text = myName;
 
            //Create tabel Image
            //string dbPath = System.IO.Path.Combine(System.Environment.GetFolderPath(System.Environment.SpecialFolder.Personal), "ormdemo.db3");
            //var db = new SQLiteConnection(dbPath);
            //db.CreateTable<ImagesTabele>();
 
 
            bExit = FindViewById<Button>(Resource.Id.buttonExit);
            bExit.Click += bExit_Click;
 
             _imageView = FindViewById<ImageView>(Resource.Id.imageView1);
         //    _imageView.SetImageResource(Resource.Drawable.testImage);
 
            if (IsThereAnAppToTakePictures())
            {
                CreateDirectoryForPictures();
 
                Button button = FindViewById<Button>(Resource.Id.buttonCamera);
               
 
                button.Click += TakeAPicture;
 
           
            }
        }
 
        private bool IsThereAnAppToTakePictures()
        {
            Intent intent = new Intent(MediaStore.ActionImageCapture);
            IList<ResolveInfo> availableActivities = PackageManager.QueryIntentActivities(intent, PackageInfoFlags.MatchDefaultOnly);
            return availableActivities != null && availableActivities.Count > 0;
        }
 
        private void CreateDirectoryForPictures()
        {
            _dir = new Java.IO.File(Android.OS.Environment.GetExternalStoragePublicDirectory(Android.OS.Environment.DirectoryPictures), "AndroidCameraVSDemo");
            if (!_dir.Exists())
            {
                _dir.Mkdirs();
            }
        }
 
        private void TakeAPicture(object sender, EventArgs eventArgs)
        {
            Intent intent = new Intent(MediaStore.ActionImageCapture);
 
            _file = new Java.IO.File(_dir, String.Format("myPhoto_{0}.jpg", Guid.NewGuid()));
       
            intent.PutExtra(MediaStore.ExtraOutput, Android.Net.Uri.FromFile(_file));
 
            StartActivityForResult(intent, 0);
        }
       Context  c;
        protected override void OnActivityResult(int requestCode, Result resultCode, Intent data)
        {
            base.OnActivityResult(requestCode, resultCode, data);
 
            if (resultCode == Result.Canceled) return;
 
            // make it available in the gallery
            Intent mediaScanIntent = new Intent(Intent.ActionMediaScannerScanFile);
           
                Android.Net.Uri contentUri = Android.Net.Uri.FromFile(_file);
 
                
                Bitmap bitmap = MediaStore.Images.Media.GetBitmap(ContentResolver, Android.Net.Uri.FromFile(_file));
                _imageView.SetImageBitmap(bitmap);
                
            
 
 
        }
 
 
 
        void bExit_Click(object sender, EventArgs e)
        {
            Intent intent = new Intent(this, typeof(MainActivity));
            this.StartActivity(intent);
        }
 
 
    }
}
А вот если вместо Bitmap использовать Uri:
C#
1
_imageView.SetImageURI(contentUri);
программа не закрывается и работает нормально...
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
18.07.2015, 17:57
Привет! Вот еще темы с ответами:

Xamarin: разработка под android - Xamarin
Доброго времени суток. Посмотрел на форуме - прямо скажем тем про разработку под андроид и iOS с использованием фреймворка xamarin...

Xamarin.Android Адаптер и GetView - Xamarin
Всем доброго времени суток. Пишу на Xamarin.Android(Mono) Написал BaseAdapter для ListView, в ListView через адаптер помещается...

Ошибки свежеустановленого xamarin android - Xamarin
Старый работал хорошо, но вот накрылся винт и переустановил винду и ксамарин с нуля. Думал все летает наконец) но новенький ксамарин...

Публикация приложения Xamarin.Forms для Android - Xamarin
На эмуляторе через VS приложение ставится и работает хорошо. Но когда я захотел вручную установить .apk на телефон или другой эмулятор...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru