如何在Xamarin IOS Live Camera中添加OverlayView

时间:2019-05-17 09:20:39

标签: xamarin.ios cameraoverlayview

  • 我正在使用实时摄像头,但是我想在其上面添加一个覆盖图,以拍摄特定的图片并保存该图片并包含一个覆盖图。
  • 我的目标如下图所示

enter image description here

2 个答案:

答案 0 :(得分:2)

您可以使用 UIImagePickerController 来做到这一点。

首先制作一个叠加层视图,就像问题中显示的那样。

  • 我确信您可以通过 Alpha 视图属性获得灰色效果。
  • 您可以使用 UIBezierPath

完成叠加视图后,将其分配给 UIImagePickerController

CameraOverlayView 属性

这是一个粗略的例子。

    imagePicker = new UIImagePickerController();

    // set our source to the camera
    imagePicker.SourceType = UIImagePickerControllerSourceType.Camera;

    // set
    imagePicker.MediaTypes = new string[] { "public.image" };

    // show the camera controls
    imagePicker.ShowsCameraControls = true;

    // This is where you assign the view that you want to overlay   
    imagePicker.CameraOverlayView = new CameraOverlayView();

答案 1 :(得分:1)

我设法添加CameraOverlayView,“以允许用户在给定的矩形内拍照”

private void OpenCameraAndTakePhoto() { imagePicker = new UIImagePickerController();

imagePicker.SourceType = UIImagePickerControllerSourceType.Camera;
imagePicker.MediaTypes = UIImagePickerController.AvailableMediaTypes(UIImagePickerControllerSourceType.Camera);
imagePicker.FinishedPickingMedia += Handle_FinishedPickingMedia;
imagePicker.Canceled += Handle_Canceled;
imagePicker.ShowsCameraControls = true;
UIView view = new UIView(new CGRect(30, 200, 250, 120));
view.Layer.BorderColor = UIColor.Blue.CGColor;
view.Layer.BorderWidth = 3.0f;
imagePicker.CameraOverlayView = view;

PresentModalViewController(imagePicker, true);

}