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

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

Войти
Регистрация
Восстановить пароль
Другие темы раздела
Xamarin C# Xamarin Android захват изображения http://www.cyberforum.ru/xamarin/thread1499169.html
Подскажите, пожалуйста, как решить задачу. Создал приложения на котором есть ImageView и кнопка, которая открывает камеру. using System; using Android.App; using Android.Content; using...
Xamarin Действие при нажатии на кнопку Button (Xamarin Studio) int a=(Resource.Id.editText1); int b=(Resource.Id.editText2); Button button1 = FindViewById<Button> (Resource.Id.button1); button1.Click { int c=a+b;... http://www.cyberforum.ru/xamarin/thread1498799.html
Библиотека для отображения pdf-файлов Xamarin
Всем привет, недавно начал осваивать Xamarin, и столкнулся с проблемой, необходимо открыть pdf документ из сети, есть только ссылка на файл, как это можно сделать? Какую библиотеку для работы с pdf...
Xamarin Ошибки свежеустановленого xamarin android
Старый работал хорошо, но вот накрылся винт и переустановил винду и ксамарин с нуля. Думал все летает наконец) но новенький ксамарин жалуется сразу же в пробном стандартном проекте(( 1. Дизайнер не...
Xamarin VS2012 - error: "Disconnected from layout renderer" (Android) http://www.cyberforum.ru/xamarin/thread1490434.html
Добрый день !!! Короче говоря такая ошибка в при открытии конструктора лайоута (.axml): "disconnected from layout renderer please close and open the file again". Также он не сохраняется. Просьба не...
Xamarin Xamarin Hello World вылетает Здравствуйте, товарищи. Осваиваю Xamarin. Использую Xamarin Studio 5.9.3 (build 1). Создал проект Android App. Привожу исходные коды некоторых файлов. MainActivity.cs using System; using... подробнее

Показать сообщение отдельно
Дима1237
0 / 0 / 0
Регистрация: 27.04.2015
Сообщений: 4
18.07.2015, 17:57  [ТС]
Попробовал как-то так:
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
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.