Exemplo n.º 1
0
        private void bw_CameraSaveImageCompleted(object sender, System.ComponentModel.RunWorkerCompletedEventArgs e)
        {
            CameraHolder holder = (CameraHolder)e.Result;

            Graphics.HideActivitySpinner(holder.LoadingView);

            if (!string.IsNullOrWhiteSpace(holder.ErrorMsg))
            {
                Controls.OkDialog("Error Saving Image", "There was an error saving the image from the camera. The error was: " + holder.ErrorMsg);
            }

            LoadImagesFromDatabase();
            DisplayThumbnail(holder.FileNumber);
        }
Exemplo n.º 2
0
        private void bw_CameraSaveImage(object sender, System.ComponentModel.DoWorkEventArgs e)
        {
            CameraHolder holder = (CameraHolder)e.Argument;

            string fileName  = Path.GetFileNameWithoutExtension(Path.GetRandomFileName());
            string filePath  = Path.Combine(imagePath, fileName + ".jpg");
            string thumbPath = Path.Combine(imagePath, fileName + "_thumb.jpg");

            NSError fileError, thumbError;

            try
            {
                if (!Directory.Exists(imagePath))
                {
                    Directory.CreateDirectory(imagePath);
                }
                if (File.Exists(filePath))
                {
                    File.Delete(filePath);
                }
                if (File.Exists(thumbPath))
                {
                    File.Delete(thumbPath);
                }

                using (NSData jpegData = holder.CameraImage.AsJPEG()) {
                    jpegData.Save(filePath, NSDataWritingOptions.Atomic, out fileError);
                    UIImage thumb = Graphics.ResizeImage(UIImage.LoadFromData(jpegData), 100f, 75f);
                    thumb.AsJPEG().Save(thumbPath, NSDataWritingOptions.Atomic, out thumbError);

                    if (fileError != null)
                    {
                        throw new Exception("Error saving image. " + fileError.ToString());
                    }
                    if (thumbError != null)
                    {
                        throw new Exception("Error saving thumbnail. " + thumbError.ToString());
                    }

                    holder.FilePath = filePath;
                }
            }
            catch (Exception ex) {
                holder.ErrorMsg = ex.Message;
            }

            e.Result = holder;
        }