public void OnImageAvailable(ImageReader reader) { var img = reader.AcquireNextImage(); var btmp = ImageProcessing.ConvertImgToBtmp(img); if (owner.isFaceCamera) { if (owner.mSensorOrientation == ImageOrientation.Portrait) { owner.mSensorOrientation = ImageOrientation.PortraitBottom; } else if (owner.mSensorOrientation == ImageOrientation.PortraitBottom) { owner.mSensorOrientation = ImageOrientation.Portrait; } } ImageProcessing.RotateBitmap(owner.mSensorOrientation, ref btmp); var imageSaver = new ImageSaver(btmp, owner.GetExternalFilesDir(null), mre); owner.mBackgroundHandler.Post(imageSaver); PostResult = imageSaver.mFile; }
public async void OnImageAvailable(ImageReader reader) { var image = reader.AcquireNextImage(); var plane = image.GetPlanes()[0]; var buffer = plane.Buffer; byte[] paso = new byte[buffer.Remaining()]; buffer.Get(paso); //Bitmap bitmap =await BitmapFactory.DecodeByteArrayAsync(paso, 0, paso.Length); //byte[] imageBytes = null; //using (var imageStream = new MemoryStream()) //{ // await bitmap.CompressAsync(Bitmap.CompressFormat.Jpeg, 50, imageStream); // bitmap.Recycle(); // imageBytes = imageStream.ToArray(); //} //image.Close(); var manipulatePic = (new SvgManipulatePhotoPage(paso)); Xamarin.Forms.Device.BeginInvokeOnMainThread(async() => { await App.Current.MainPage.Navigation.PushAsync(manipulatePic, false); }); }
public void OnImageAvailable(ImageReader reader) { Image image = null; try { image = reader.AcquireNextImage(); ByteBuffer buffer = image.GetPlanes()[0].Buffer; byte[] bytes = new byte[buffer.Capacity()]; buffer.Get(bytes); Save(bytes); fragment.PictureTaken?.Invoke(); } catch (FileNotFoundException ex) { Log.WriteLine(LogPriority.Info, "Camera capture session", ex.StackTrace); } catch (IOException ex) { Log.WriteLine(LogPriority.Info, "Camera capture session", ex.StackTrace); } finally { if (image != null) { image.Close(); } } }
public void OnImageAvailable(ImageReader reader) { Android.Media.Image image = null; byte[] bytes = null; try { image = reader.AcquireNextImage(); var buffer = image.GetPlanes()[0].Buffer; var length = buffer.Remaining(); bytes = new byte[length]; buffer.Get(bytes); HandleImage(bytes); } finally { if (image != null) { image.Close(); } } }
public void OnImageAvailable(ImageReader reader) { var filename = string.Format("IMG_{0}.jpg", DateTime.Now.ToString("yyyyMMdd_HHmmss_ff")); string path = System.IO.Path.Combine(CrossMultiPictures.Current.MediaFolderPath(_mediaOptions), filename); _camera2.BackgroundHandler.Post(new ImageSaver(reader.AcquireNextImage(), new File(path), _mediaOptions, _camera2.DeviceRotation, ImageAvailable)); }
public void OnImageAvailable(ImageReader?reader) { AImage?image = null; try { image = reader?.AcquireNextImage(); if (image == null) { return; } var buffer = image.GetPlanes()?[0].Buffer; if (buffer == null) { return; } var imageData = new byte[buffer.Capacity()]; buffer.Get(imageData); Photo?.Invoke(this, imageData); buffer.Clear(); } catch (Exception) { } finally { image?.Close(); } }
private void OnImageAvailable(ImageReader reader) { try { Image image = reader.AcquireNextImage(); ByteBuffer buffer = image.GetPlanes()[0].Buffer; byte[] bytes = new byte[buffer.Capacity()]; buffer.Get(bytes); _uploader.Queue(bytes); Bitmap bitmap = BitmapFactory.DecodeByteArray(bytes, 0, bytes.Length); var imgview = Activity.FindViewById <ImageView>(Resource.Id.theimage); Activity.RunOnUiThread(() => { imgview.SetImageBitmap(bitmap); imgview.Rotation = Rotation; // == 90 ? 0 : 180; }); image.Close(); } catch (System.Exception e) { OnError("Failed to process image:" + e.Message); } }
//public File File { get; private set; } //public Camera2BasicFragment Owner { get; private set; } public void OnImageAvailable(ImageReader reader) { file = owner.mFile; Image image = reader.AcquireNextImage(); imgWidth = image.Width; imgHeight = image.Height; owner.mBackgroundHandler.Post(new ImageSaver(image, file)); }
public void OnImageAvailable(ImageReader reader) { Image image = reader.AcquireNextImage(); ByteBuffer buffer = image.GetPlanes()[0].Buffer; byte[] bytes = new byte[buffer.Remaining()]; buffer.Get(bytes); Owner.FrameReceived(bytes, SKImage.FromEncodedData(bytes)); image.Close(); }
public void OnImageAvailable(ImageReader reader) { var image = reader.AcquireNextImage(); ByteBuffer buffer = image.GetPlanes()[0].Buffer; byte[] bytes = new byte[buffer.Remaining()]; buffer.Get(bytes); image.Close(); owner.PhotoCapturedHandler(bytes); }
public void OnImageAvailable(ImageReader reader) { Image image = null; try { image = reader.AcquireNextImage(); var buffer = image.GetPlanes()[0].Buffer; var imageData = new byte[buffer.Capacity()]; buffer.Get(imageData); Photo?.Invoke(this, imageData); } catch (Exception e) { Error?.Invoke(this, e); } finally { image?.Close(); } }
public async void OnImageAvailable(ImageReader reader) { Image image = null; try { // https://stackoverflow.com/questions/36419722/error-unable-to-acquire-a-lockedbuffer-very-likely-client-tries-to-lock-more-t image = reader.AcquireNextImage(); //image = reader.AcquireLatestImage(); ByteBuffer buffer = image.GetPlanes()[0].Buffer; byte[] bytes = new byte[buffer.Capacity()]; buffer.Get(bytes); await Save(bytes); if (Fragment?.Activity == null || File == null) { return; } Fragment.OnPause(); ((CameraActivity)Fragment.Activity).ReturnWithFile(File.ToString()); } catch (FileNotFoundException ex) { System.Console.WriteLine(ex.Message); } catch (IOException ex) { System.Console.WriteLine(ex.Message); } finally { image?.Close(); } }
public void OnImageAvailable(ImageReader reader) { Owner.mBackgroundHandler.Post(new ImageSaver(reader.AcquireNextImage(), File)); }
public void OnImageAvailable(ImageReader reader) { owner.mBackgroundHandler.Post(new ImageSaver(activity, context, owner, reader.AcquireNextImage())); }
//public File File { get; private set; } //public Camera2BasicFragment Owner { get; private set; } public void OnImageAvailable(ImageReader reader) { var file = new File(((Activity)context).GetExternalFilesDir(null), Guid.NewGuid().ToString() + ".jpg"); owner.mBackgroundHandler.Post(new ImageSaver(reader.AcquireNextImage(), file, photos)); }
//public File File { get; private set; } //public CameraFragment Owner { get; private set; } public void OnImageAvailable(ImageReader reader) { ImageSaver imageSaver = new ImageSaver(reader.AcquireNextImage(), _context); owner.mBackgroundHandler.Post(imageSaver); }
public void OnImageAvailable(ImageReader reader) { Image image = reader.AcquireNextImage(); _owner.BackgroundHandler.Post(new ImageUploader(image)); }
public void OnImageAvailable(ImageReader reader) { Bitmap bitmap = mainActivity.mImagePreprocessor.preprocessImage(reader.AcquireNextImage()); mainActivity.OnPhotoReady(bitmap); }
public void OnImageAvailable(ImageReader reader) => _cameraBackgroundHandler.Post(new ImageSaver(this, reader.AcquireNextImage()));
public void OnImageAvailable(ImageReader reader) { owner.mBackgroundHandler.Post(new ImageInferer(reader.AcquireNextImage(), file, owner)); }