public void SurfaceChanged(ISurfaceHolder holder, [GeneratedEnum] Format format, int width, int height) { if (_holder.Surface == null) { return; } try { _camera.StopPreview(); } catch (Exception ex) { string message = ex.Message; } if (_previewSize != null) { try { Android.Hardware.Camera.Parameters parameters = _camera.GetParameters(); parameters.SetPreviewSize(_previewSize.Width, _previewSize.Height); parameters.SetPictureSize(_picSize.Width, _picSize.Height); _camera.SetParameters(parameters); _camera.SetPreviewDisplay(_holder); } catch (Exception ex) { throw; } } Android.App.Activity activity = _context as Android.App.Activity; if (activity != null) { int orientation = CameraHelper.GetCameraDisplayOrientation(activity, _cameraId, displayRotation); _camera.SetDisplayOrientation(orientation); } try { Parameters parameters = _camera.GetParameters(); foreach (var previewSize in _camera.GetParameters().SupportedPreviewSizes) { // if the size is suitable for you, use it and exit the loop. parameters.SetPreviewSize(previewSize.Width, previewSize.Height); break; } _camera.SetParameters(parameters); _camera.SetPreviewDisplay(_holder); _camera.StartPreview(); } catch (Exception ex) { Log.Debug(Tag.ToString(), "Error starting camera preview: " + ex.Message); } }
public void SurfaceChanged(ISurfaceHolder holder, [GeneratedEnum] Format format, int width, int height) { Camera.Parameters parameters = Parent.camera.GetParameters(); Camera.Size size = Parent.GetBestPreviewSize(width, height, parameters); if (size != null) { parameters.SetPreviewSize(size.Width, size.Height); parameters.SetPictureSize(size.Width, size.Height); parameters.SetRotation(90); parameters.FocusMode = Camera.Parameters.FocusModeContinuousPicture; Parent.camera.SetParameters(parameters); Parent.camera.StartPreview(); Parent.inPreview = true; } }
public void SurfaceChanged(ISurfaceHolder holder, [GeneratedEnum] Format format, int width, int height) { if (holder.Surface == null) { return; } try { camera.StopPreview(); } catch (Exception e) { Log.Debug("Exception", e.Message); return; } try { //FrameLayout layout = (FrameLayout)FindViewById(Resource.Id.frame); //ViewGroup.LayoutParams parms = layout.LayoutParameters; //parms.Height = 960; //parms.Width = 1280; //parms.Height = 1440; //parms.Width = 1920; //layout.LayoutParameters = parms; Display display = WindowManager.DefaultDisplay; Point size = new Point(); display.GetSize(size); int displayWidth = size.X; int displayHeight = size.Y; // resolution of desktop viewer is 640x480 scaleX = Convert.ToInt32(displayWidth / 640); scaleY = Convert.ToInt32(displayHeight / 480); //Configration Camera Parameter(full-size) Android.Hardware.Camera.Parameters parameters = camera.GetParameters(); Android.Hardware.Camera.Size bestPreviewSize = GetBestPreviewSize(width, height, parameters); parameters.SetPictureSize(320, 240); //parameters.SetPreviewSize(bestPreviewSize.Width, bestPreviewSize.Height); parameters.SetPreviewSize(320, 240); parameters.PreviewFormat = Android.Graphics.ImageFormatType.Nv21;// ImageFormat.Nv21; parameters.FocusMode = Android.Hardware.Camera.Parameters.FocusModeContinuousPicture; camera.SetParameters(parameters); camera.SetPreviewDisplay(holder); camera.SetPreviewCallback(this); camera.StartPreview(); } catch (Exception e) { Log.Debug("Exception", e.Message); } }