Esempio n. 1
0
        public void OnPictureTaken(byte[] data)
        {
            Matrix m = new Matrix();

            m.PostRotate(270);


            Bitmap       scaledBitmap  = Bitmap.CreateScaledBitmap((BitmapFactory.DecodeByteArray(data, 0, data.Length)), 640, 480, false);
            Bitmap       rotatedBitmap = Bitmap.CreateBitmap(scaledBitmap, 0, 0, scaledBitmap.Width, scaledBitmap.Height, m, false);
            MemoryStream stream        = new MemoryStream();

            rotatedBitmap.Compress(Bitmap.CompressFormat.Jpeg, 100, stream);
            byte[] newpicdata = stream.ToArray();

            Task.Run(async() =>
            {
                try
                {
                    isProcessing = true;

                    Console.WriteLine("face detected: ");
                    await CruzeBioHelper.ProcessCameraCapture(newpicdata);
                }
                finally
                {
                    isProcessing = false;
                }
            });
        }
Esempio n. 2
0
        protected async override void OnCreate(Bundle savedInstanceState)
        {
            base.OnCreate(savedInstanceState);
            Xamarin.Essentials.Platform.Init(this, savedInstanceState);



            SetContentView(Resource.Layout.activity_main);

            Android.Support.V7.Widget.Toolbar toolbar = FindViewById <Android.Support.V7.Widget.Toolbar>(Resource.Id.toolbar);
            SetSupportActionBar(toolbar);

            // Wire up the controls
            mPreview        = FindViewById <CameraSourcePreview>(Resource.Id.preview);
            mGraphicOverlay = FindViewById <GraphicOverlay>(Resource.Id.faceOverlay);
            mStatusText     = FindViewById <TextView>(Resource.Id.statusText);

            mAuthenticationStatusImageView            = FindViewById <ImageView>(Resource.Id.authenticationStatusImageView);
            mAuthenticationStatusImageView.Visibility = ViewStates.Visible;

            StatusImage = mAuthenticationStatusImageView;
            StatusText  = mStatusText;

            FloatingActionButton fab = FindViewById <FloatingActionButton>(Resource.Id.fab);

            fab.Click += FabOnClick;

            if (ActivityCompat.CheckSelfPermission(this, Manifest.Permission.Camera) == Permission.Granted)
            {
                CreateCameraSource();
                CruzeBioHelper.Init();
                CruzeBioHelper.AuthenticationStatusImageCallback = (resourceId) => { RunOnUiThread(() =>
                                                                                                   MainActivity.StatusImage.SetImageResource(resourceId));
                                                                                     //mStatusText.Text = StatusText;
                };
                await CruzeBioHelper.RegisterFaces();
            }
            else
            {
                RequestCameraPermission();
            }
        }