Exemplo n.º 1
0
 protected override void OnActivityResult(int requestCode, [GeneratedEnum] Result resultCode, Intent data)
 {
     base.OnActivityResult(requestCode, resultCode, data);
     if ((requestCode == PickImageId) && (resultCode == Result.Ok) && (data != null))
     {
         SpyThePieView = FindViewById <ImageView>(Resource.Id.spy_the_pie_pic_view);
         if (data != null)
         {
             Android.Net.Uri uri = data.Data;
             SpyThePieView.SetImageURI(uri);
             BitmapDrawable bitmapDrawable = ((BitmapDrawable)SpyThePieView.Drawable);
             if (bitmapDrawable == null)
             {
                 SpyThePieView.BuildDrawingCache();
                 bitmap = SpyThePieView.GetDrawingCache(false);
                 SpyThePieView.BuildDrawingCache(false);
             }
             else
             {
                 bitmap = bitmapDrawable.Bitmap;
             }
         }
     }
     else
     {
         SpyThePieView = FindViewById <ImageView>(Resource.Id.spy_the_pie_pic_view);
         if (data != null)
         {
             bitmap = (Bitmap)data.Extras.Get("data");
             SpyThePieView.SetImageBitmap(bitmap);
         }
     }
 }
Exemplo n.º 2
0
        protected override void OnActivityResult(int requestCode, Result resultCode, Intent data)
        {
            if ((requestCode == PickImageId) && (resultCode == Result.Ok) && (data != null))
            {
                Context      mContext     = Android.App.Application.Context;
                ImageManager imageManager = new ImageManager(mContext);

                Android.Net.Uri uri = data.Data;
                profilePicture.SetImageURI(uri);

                profilePicture.DrawingCacheEnabled = true;

                profilePicture.BuildDrawingCache();

                Android.Graphics.Bitmap bm = profilePicture.GetDrawingCache(true);

                MemoryStream stream = new MemoryStream();
                bm.Compress(Android.Graphics.Bitmap.CompressFormat.Png, 100, stream);
                byte[] byteArray = stream.ToArray();
                // String img_str = Base64.encodeToString(image, 0);
                Logo = Base64.EncodeToString(byteArray, 0);
                Bitmap bitmap = imageManager.ConvertStringToBitMap(Logo);
                profilePicture.SetImageBitmap(bitmap);
            }
        }
Exemplo n.º 3
0
        protected override void OnActivityResult(int requestCode, Result resultCode, Intent data)
        {
            base.OnActivityResult(requestCode, resultCode, data);

            if (resultCode == Result.Ok)
            {
                // var imageView = FindViewById<ImageView>(Resource.Id.image);

                image.BuildDrawingCache(true);
                Bitmap bmap = image.GetDrawingCache(true);
                //  image.SetImageURI(data.Data);



                MemoryStream stream = new MemoryStream();

                bmap.Compress(Bitmap.CompressFormat.Png, 100, stream);

                byte[] img = stream.ToArray();


                DBAdapter db = new DBAdapter(this);
                db.openDb();
                long i = db.insertImage(img);
                if (i > 0)
                {
                    Toast.MakeText(this, "Insert", ToastLength.Short).Show();
                }
                else
                {
                    Toast.MakeText(this, "Insert Failed..", ToastLength.Short).Show();
                }

                ICursor c = db.showImage();
                if (c != null)
                {
                    c.MoveToFirst();

                    do
                    {
                        img1 = c.GetBlob(1);
                    } while (c.MoveToNext());
                }

                MemoryStream ms = new MemoryStream();

                Bitmap n1 = BitmapFactory.DecodeByteArray(img1, 0, img1.Length);
                //  n1.Compress(Bitmap.CompressFormat.Jpeg, 100, ms);
                image.SetImageBitmap(n1);

                db.closeDb();
            }
        }
Exemplo n.º 4
0
        public override View OnCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState)
        {
            view = inflater.Inflate(Resource.Layout.ImageChange, container, false);
            img  = view.FindViewById <ImageView>(Resource.Id.imageForRotation);
            img.BuildDrawingCache(true);
            new Thread(new ThreadStart(delegate
            {
                Activity.RunOnUiThread(() =>
                {
                    Android.App.ProgressDialog progress = Android.App.ProgressDialog.Show(img.Context, "", "Loading image..", true);
                    img.SetImageBitmap(GetPictureFromUrl(string.Format("http://placekitten.com/g/{0}/{1}", img.Width, img.Height)));
                    progress.Dismiss();
                }
                                       );
            })).Start();

            buttonRotate = view.FindViewById <Button>(Resource.Id.buttonRotate);
            buttonFlipH  = view.FindViewById <Button>(Resource.Id.buttonFlipH);
            buttonFlipV  = view.FindViewById <Button>(Resource.Id.buttonFlipV);

            //actions on rotate button
            buttonRotate.Click += (sender, e) =>
            {
                img.SetImageBitmap(TransformImage(0));
                img.BuildDrawingCache(true);
            };
            //actions on flip horizontal button
            buttonFlipH.Click += (sender, e) =>
            {
                img.SetImageBitmap(TransformImage(1));
                img.BuildDrawingCache(true);
            };
            //actions on flip vertical button
            buttonFlipV.Click += (sender, e) =>
            {
                img.SetImageBitmap(TransformImage(2));
                img.BuildDrawingCache(true);
            };
            return(view);
        }
Exemplo n.º 5
0
        private static void saveImage()
        {
            var     sdCardPath = Android.OS.Environment.ExternalStorageDirectory.AbsolutePath;
            var     fileName   = DateTime.Now.ToLongTimeString() + ".png";
            var     filePath   = System.IO.Path.Combine(sdCardPath, fileName);
            var     stream     = new FileStream(filePath, FileMode.Create);
            Boolean tempValue  = faceImage.DrawingCacheEnabled;

            faceImage.DrawingCacheEnabled = true;
            faceImage.BuildDrawingCache();
            Bitmap bufferBitmap = Bitmap.CreateBitmap(faceImage.DrawingCache);

            isCompressSuccessful          = bufferBitmap.Compress(Bitmap.CompressFormat.Png, 100, stream);
            faceImage.DrawingCacheEnabled = tempValue;
            stream.Close();
        }
Exemplo n.º 6
0
        async void UploadImage()
        {
            try
            {
                await CrossMedia.Current.Initialize();

                if (!CrossMedia.Current.IsPickPhotoSupported)
                {
                    Toast.MakeText(this, "Upload not supported on this device", ToastLength.Short).Show();
                    return;
                }

                var file = await CrossMedia.Current.PickPhotoAsync(new Plugin.Media.Abstractions.PickMediaOptions
                {
                    PhotoSize = Plugin.Media.Abstractions.PhotoSize.Full
                });

                // Convert file to byre array, to bitmap and set it to our ImageView

                byte[] imageArray = System.IO.File.ReadAllBytes(file.Path);
                var    bitmap     = BitmapFactory.DecodeByteArray(imageArray, 0, imageArray.Length);
                ivAnnouncement.SetImageBitmap(bitmap);


                ivAnnouncement.BuildDrawingCache(true);
                Bitmap bmap = ivAnnouncement.GetDrawingCache(true);
                ivAnnouncement.SetImageBitmap(bmap);
                Bitmap b = Bitmap.CreateBitmap(ivAnnouncement.GetDrawingCache(true));



                using (var stream = new MemoryStream())
                {
                    b.Compress(Bitmap.CompressFormat.Png, 0, stream);

                    var bytes = stream.ToArray();
                    str = Convert.ToBase64String(bytes);
                }
            }
            catch (Exception ex)
            {
                Toast.MakeText(this, "Photo Canceled", ToastLength.Short).Show();
            }
        }
Exemplo n.º 7
0
        protected MediaFile ByteDataFromImage(ImageView imageView)
        {
            imageView.BuildDrawingCache(true);
            Bitmap bmap = imageView.GetDrawingCache(true);

            imageView.SetImageBitmap(bmap);
            Bitmap bitmap = Bitmap.CreateBitmap(imageView.GetDrawingCache(true));

            //var bitmap = BitmapFactory.DecodeResource(Resources, resourceId);
            Bitmap newBitmap = scaleDown(bitmap, Constants.MDROP_MAX_SIZE, true);

            var stream = new MemoryStream();

            newBitmap.Compress(Bitmap.CompressFormat.Png, 0, stream);
            var fileBytes = stream.ToArray();

            var fileName = "Image_" + DateTime.Now.ToString("dd-mm-yy_hh-mm-ss") + ".png";

            return(new MediaFile(fileName, fileBytes));
        }
Exemplo n.º 8
0
        public static byte[] ImageViewToByteArray(ImageView image)
        {
            image.Measure(Android.Views.View.MeasureSpec.MakeMeasureSpec(
                              0, Android.Views.MeasureSpecMode.Unspecified),
                          Android.Views.View.MeasureSpec.MakeMeasureSpec(0, Android.Views.MeasureSpecMode.Unspecified));
            image.Layout(0, 0, image.MeasuredWidth, image.MeasuredHeight);

            image.BuildDrawingCache(true);

            var bitmap = image.GetDrawingCache(true);

            byte[] bitmapData;
            using (var stream = new MemoryStream())
            {
                bitmap.Compress(Bitmap.CompressFormat.Png, 0, stream);
                bitmapData = stream.ToArray();
            }

            return(bitmapData);
        }
Exemplo n.º 9
0
        public Bitmap TransformImage(int action)
        {
            img.BuildDrawingCache(true);
            Matrix matrix = new Matrix();

            switch (action)
            {
            case 0:
                matrix.PostRotate(90);
                break;

            case 1:
                matrix.PostScale(-1, 1);
                break;

            case 2:
                matrix.PostScale(1, -1);
                break;
            }
            return(Bitmap.CreateBitmap(img.GetDrawingCache(true), 0, 0, img.Height, img.Width, matrix, true));
        }
Exemplo n.º 10
0
    public async Task onPictureTakeAsync(byte[] data, Camera camera)
    {
            /*ContextWrapper cw = new ContextWrapper(ApplicationContext);
            imageFileFolder = cw.GetExternalFilesDir(Android.OS.Environment.DirectoryPictures);

            Calendar c = Calendar.Instance;
            imageFileName = new Java.IO.File(imageFileFolder, c.Time.Seconds + ".bmp");
            imageFileName.CreateNewFile();

            using (var os = new FileStream(imageFileName.AbsolutePath, FileMode.Create))
            {
                os.Write(data, 0, data.Length);
            }
            */
            TesseractApi tesseractApi = new TesseractApi(ApplicationContext, AssetsDeployment.OncePerInitialization);
            if (!tesseractApi.Initialized)
                await tesseractApi.Init("eng");
            var tessResult = await tesseractApi.SetImage(data);
            if (tessResult)
            {
                var a = tesseractApi.Text;
                var b = a;
            }

            Bitmap cameraBitmap = BitmapFactory.DecodeByteArray(data, 0, data.Length);
            int wid = cameraBitmap.Width;
            int hgt = cameraBitmap.Height;

            Bitmap resultImage = Bitmap.CreateBitmap(wid, hgt, Bitmap.Config.Argb8888);
            Canvas canvas = new Canvas(resultImage);
            canvas.DrawBitmap(cameraBitmap, 0f, 0f, null);

            image.DrawingCacheEnabled = true;
            image.Measure(MeasureSpec.MakeMeasureSpec(300, MeasureSpecMode.Exactly),
                          MeasureSpec.MakeMeasureSpec(300, MeasureSpecMode.Exactly));
            image.Layout(0, 0, image.MeasuredWidth, image.MeasuredHeight);
            image.BuildDrawingCache(true);
            Bitmap layoutBitmap = Bitmap.CreateBitmap(image.DrawingCache);
            image.DrawingCacheEnabled = false;
            canvas.DrawBitmap(layoutBitmap, 80f, 0f, null);

            ContextWrapper cw = new ContextWrapper(ApplicationContext);
            imageFileFolder = cw.GetExternalFilesDir(Android.OS.Environment.DirectoryPictures);

            imageFileName = new Java.IO.File(imageFileFolder, DateTime.Now.Ticks.ToString() + ".jpg");
            imageFileName.CreateNewFile();

            try
            {
                using (var os = new FileStream(imageFileName.AbsolutePath, FileMode.Create))
                {
                    resultImage.Compress(Bitmap.CompressFormat.Jpeg, 95, os);
                }
            }
            catch (Exception e)
            {
                Log.Debug("In Saving File", e + "");
            }

            dialog.Dismiss();

            var activity = new Intent(this, typeof(ImageActivity));

            activity.PutExtra("AbsolutePath", imageFileName.AbsolutePath);
            StartActivity(activity);
            Finish();
            //StartActivity(typeof(ImageActivity));
        }
Exemplo n.º 11
0
        //метод для возвращения результата
        protected override void OnActivityResult(int requestCode, Result resultCode, Intent data)
        {
            base.OnActivityResult(requestCode, resultCode, data);
            //распознает по выбранному фото
            if (ButtonFlag == true)
            {
                if (resultCode == Result.Ok)
                {
                    _imageView.SetImageURI(data.Data);
                }

                int height = Resources.DisplayMetrics.HeightPixels;
                int width  = _imageView.Height;
                //App.bitmap = App._file.Path.LoadAndResizeBitmap(width, height);
                _imageView.BuildDrawingCache(true);
                App.bitmap = _imageView.GetDrawingCache(true);


                if (App.bitmap != null)
                {
                    Stream imageStream = BitmapHelpers.BitmapToStream(App.bitmap);
                    var    task        = new RecognizeTextTask(this).Execute(imageStream);

                    _imageView.SetImageBitmap(App.bitmap);
                    App.bitmap = null;
                }

                // Утилизируем растровое изображение на стороне Java
                GC.Collect();


                ButtonFlag = false;
            }//распознает по сделанному фото
            else
            {
                // Делаем доступным в галерее
                Intent mediaScanIntent = new Intent(Intent.ActionMediaScannerScanFile);
                Uri    contentUri      = Uri.FromFile(App._file);
                mediaScanIntent.SetData(contentUri);
                SendBroadcast(mediaScanIntent);

                /*
                 * Отображаем в ImageView и изменяем размер растрового изображения что бы соответствовало
                 * дисплею
                 * Загрузка полноразмерного изображения будет потреблять много памяти и приведет к сбою
                 */

                int height = Resources.DisplayMetrics.HeightPixels; //получение размера экрана
                int width  = _imageView.Height;
                App.bitmap = App._file.Path.LoadAndResizeBitmap(width, height);
                //App.bitmap = BitmapFactory.DecodeResource(Resources, Resource.Drawable.abc);

                if (App.bitmap != null)
                {
                    Stream imageStream = BitmapHelpers.BitmapToStream(App.bitmap);
                    var    task        = new RecognizeTextTask(this).Execute(imageStream);

                    _imageView.SetImageBitmap(App.bitmap);
                    App.bitmap = null;
                }

                // Утилизируем растровое изображение на стороне Java
                GC.Collect();
            }
        }
Exemplo n.º 12
0
        public override View GetView(int position, View convertView, ViewGroup parent)
        {
            View row = convertView;

            if (row == null)
            {
                row = LayoutInflater.From(mContent).Inflate(Resource.Menu.fScheduleList, null, false);
            }

            TextView Text1 = row.FindViewById <TextView>(Resource.Id.Sch_depatureD);

            Text1.Text = mItems[position].Name;

            TextView Text2 = row.FindViewById <TextView>(Resource.Id.Sch_depatureT);

            Text2.Text = mItems[position].Category;

            ImageView image = row.FindViewById <ImageView>(Resource.Id.Sch_flightImg);

            // grab the old image and dispose of it

            /*   if (image.Drawable != null)
             * {
             *     using (var img = image.Drawable as BitmapDrawable)
             *     {
             *         if (img != null)
             *         {
             *             if (img.Bitmap != null)
             *             {
             *                 //image.Bitmap.Recycle ();
             *                 img.Bitmap.Dispose();
             *             }
             *         }
             *     }
             * }*/
            // If a new image is required, display it
            if (!String.IsNullOrWhiteSpace(mItems[position].ImageFilename))
            {
                //------------------------------------
                ImageView imageView = row.FindViewById <ImageView>(Resource.Id.Sch_flightImg);

                // context.GetFileStreamPath(item.ImageFilename);
                imageView.BuildDrawingCache(true);
                Bitmap bitmaps = imageView.GetDrawingCache(true);

                BitmapDrawable drawable = (BitmapDrawable)imageView.Drawable;
                Bitmap         bitmap   = drawable.Bitmap;
                string         src      = "";
                Bitmap         bitmap2  = BitmapFactory.DecodeFile(src);
                //  bitmap2 = BitmapFactory.DecodeResource(this, Resource.Drawable.Fruits);
                if (bitmap2 != null)
                {
                    row.FindViewById <ImageView>(Resource.Id.Sch_flightImg).SetImageBitmap(bitmap2);
                    bitmap2.Dispose();
                }
                //-----------------------------------

                /* context.Resources.GetBitmapAsync(item.ImageFilename).ContinueWith((t) => {
                 *   var bitmap = t.Result;
                 *   if (bitmap != null)
                 *   {
                 *       view.FindViewById<ImageView>(Resource.Id.Image).SetImageBitmap(bitmap2);
                 *       bitmap.Dispose();
                 *   }
                 * }, TaskScheduler.FromCurrentSynchronizationContext());*/
            }
            else
            {
                // clear the image
                row.FindViewById <ImageView>(Resource.Id.Sch_flightImg).SetImageBitmap(null);
            }
            return(row);
        }
Exemplo n.º 13
0
        private async void clickBtnRegister(object sender, EventArgs e)
        {
            if (string.IsNullOrEmpty(Email.Text) || string.IsNullOrWhiteSpace(Email.Text))
            {
                displaySnackBar("Fill Email!");
            }
            else if (string.IsNullOrEmpty(Username.Text) || string.IsNullOrWhiteSpace(Username.Text))
            {
                displaySnackBar("Fill username!");
            }
            else if (string.IsNullOrEmpty(Password.Text) || string.IsNullOrWhiteSpace(Password.Text))
            {
                displaySnackBar("Fill password!");
            }
            else if (string.IsNullOrEmpty(ConfirmPassword.Text) || string.IsNullOrWhiteSpace(ConfirmPassword.Text))
            {
                displaySnackBar("Fill column confirm password!");
            }
            else if (string.IsNullOrEmpty(FirstName.Text) || string.IsNullOrWhiteSpace(FirstName.Text))
            {
                displaySnackBar("Fill First name!");
            }
            else if (string.IsNullOrEmpty(LastName.Text) || string.IsNullOrWhiteSpace(LastName.Text))
            {
                displaySnackBar("Fill Last name!");
            }
            else if (Password.Text != ConfirmPassword.Text)
            {
                displaySnackBar("Confirm password do not match with password. Please check them.");
            }
            else
            {
                var progressDialog = new ProgressDialog(this);
                progressDialog.SetCancelable(true);
                progressDialog.SetMessage("Please wait!");
                progressDialog.SetProgressStyle(ProgressDialogStyle.Spinner);
                progressDialog.Show();

                string email           = Email.Text;
                string username        = Username.Text;
                string password        = Password.Text;
                string confirmPassword = ConfirmPassword.Text;
                string fistName        = FirstName.Text;
                string lastName        = LastName.Text;
                string phoneNumber     = PhoneNumber.Text;

                httpClient = new HttpClient();

                var resultForUsername = await httpClient.PostAsync("UrlApiapi/account/checkUsername", new StringContent(JsonConvert.SerializeObject(username), Encoding.UTF8, "application/json"));

                var responseForUsername = await resultForUsername.Content.ReadAsStringAsync();

                var resultForEmail = await httpClient.PostAsync("UrlApiapi/account/checkEmail", new StringContent(JsonConvert.SerializeObject(email), Encoding.UTF8, "application/json"));

                var responseForEmail = await resultForEmail.Content.ReadAsStringAsync();

                if (responseForUsername == "true")
                {
                    displaySnackBar("There exist user with this username.");
                    progressDialog.Hide();
                }
                else if (responseForEmail == "true")
                {
                    displaySnackBar("There exisit new user with this mail.");
                    progressDialog.Hide();
                }
                else
                {
                    string base64Image = "";
                    try
                    {
                        UserImage.BuildDrawingCache(true);
                        BitmapDrawable bd     = (BitmapDrawable)UserImage.Drawable;
                        Bitmap         bitmap = bd.Bitmap;
                        byte[]         imageData;
                        using (MemoryStream stream = new MemoryStream())
                        {
                            bitmap.Compress(Bitmap.CompressFormat.Png, 0, stream);
                            imageData = stream.ToArray();
                        }
                        base64Image = Convert.ToBase64String(imageData);
                    }
                    catch (Exception ex) { }

                    try
                    {
                        var signUp = new SignUp
                        {
                            Email           = email,
                            UserName        = username,
                            FirstName       = fistName,
                            LastName        = lastName,
                            BirthDate       = DateTime.Now.ToString(),
                            Password        = password,
                            PhoneNumber     = phoneNumber,
                            user_image      = base64Image,
                            ConfirmPassword = confirmPassword,
                            Gender          = "M"
                        };

                        var httpClient  = new HttpClient();
                        var jsonContent = JsonConvert.SerializeObject(signUp);
                        var content     = new StringContent(jsonContent, Encoding.UTF8, "application/json");
                        var response    = await httpClient.PostAsync("UrlApiapi/account/Register", content);

                        var responseString = await response.Content.ReadAsStringAsync();

                        Toast.MakeText(this, "Check your email for further details.", ToastLength.Long).Show();
                        progressDialog.Cancel();
                        StartActivity(typeof(LogIn));
                    }
                    catch (HttpRequestException httpEx)
                    {
                        Snackbar bar = Snackbar.Make(linearLayout2, "Please check your internet connection!", Snackbar.LengthLong);
                        Snackbar.SnackbarLayout layout = (Snackbar.SnackbarLayout)bar.View;
                        layout.SetMinimumHeight(100);
                        layout.SetBackgroundColor(Android.Graphics.Color.White);
                        layout.TextAlignment = TextAlignment.Center;
                        layout.ScrollBarSize = 16;
                        bar.SetActionTextColor(Android.Content.Res.ColorStateList.ValueOf(Android.Graphics.Color.Red));
                        bar.SetDuration(Snackbar.LengthIndefinite);
                        bar.SetAction("Ok", (v) => { });
                        bar.Show();
                        progressDialog.Cancel();
                    }
                    catch (Exception ex)
                    {
                        progressDialog.Cancel();
                        Toast.MakeText(this, "Error: " + ex, ToastLength.Long).Show();
                    }
                }
            }
        }
Exemplo n.º 14
0
 public static Bitmap GetBitmap(this ImageView img)
 {
     img.BuildDrawingCache();
     return(img.DrawingCache);
 }