示例#1
0
        private void UpdateCameraAspect()
        {
            try
            {
                Android.Hardware.Camera.Parameters camParams = camera.GetParameters();
                Android.Hardware.Camera.CameraInfo info      = new Android.Hardware.Camera.CameraInfo();
                Android.Hardware.Camera.GetCameraInfo((int)Android.Hardware.CameraFacing.Back, info);

                Android.Hardware.Camera.Size size = GetOptimalPreviewSize(camParams.SupportedPreviewSizes, width, height);

                camParams.SetPreviewSize(size.Width, size.Height);

                int rotation = (info.Orientation + 360) % 360;

                camParams.SetRotation(rotation);

                if (camParams.SupportedFocusModes.Contains(Android.Hardware.Camera.Parameters.FocusModeContinuousPicture))
                {
                    camParams.FocusMode = Android.Hardware.Camera.Parameters.FocusModeContinuousPicture;
                }

                camera.SetParameters(camParams);
            }
            catch (System.Exception e)
            {
                System.Console.WriteLine(e.Message);
            }
        }
示例#2
0
        //初始化相机
        private void initCamera()
        {
            mCamera.StopPreview();
            if (null != mCamera)
            {
                Android.Hardware.Camera.Parameters myParam = mCamera.GetParameters();

                //设置大小和方向等参数
                myParam.SetPreviewSize(1280, 720);
                myParam.SetPictureSize(640, 480);
                myParam.SetRotation(90);
                myParam.Set("iso", 100);
                myParam.Set("jpeg-quality", 100);
                myParam.Zoom = 14;
                mCamera.SetDisplayOrientation(90);
                mCamera.SetParameters(myParam);
                mCamera.StartPreview();
                //mCamera.SetPreviewCallback (this);
            }
        }