xamarin.ios - 如何在 Xamarin IOS Live Camera 中添加 OverlayView
解决方案
你可以使用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();
更新:
使用CGImageCreateWithImageInRect
类获取图像的裁剪版本。传递相机叠加层的矩形和相机拍摄的图片的图像参考,该类将返回相机叠加层覆盖的裁剪图像。
这是来自 Objective C 的示例,我相信您可以在 Xamarin.iOS 中执行类似的操作
CGImageRef imageRef = CGImageCreateWithImageInRect([largeImage CGImage], cropRect);
// or use the UIImage wherever you like
[UIImageView setImage:[UIImage imageWithCGImage:imageRef]];
CGImageRelease(imageRef);
推荐阅读
- elasticsearch - 将 Logstash 字段限制为特定索引
- python - 如何通过linkedin api提供的访问令牌搜索公司?
- node.js - 如何在 Angular 应用程序中访问 DialogFlow 节点 Js 客户端?
- mysql - 从文本 MySql 中提取 OrderID
- ruby-on-rails - 使用 ruby on rails 将图像信息保存到数据库并将图像保存到非(云服务器或使用 aws SDK)的最佳 gem 或方法是什么
- image - 在 Google 文档中插入图片
- jquery - ActiveRecord::RecordNotFound(找不到带有 'id'=undefined 的博客):
- java - 我可以在公共类中声明 Scanner 吗?
- typescript - 如何分两部分创建重用方法?(打字稿,谷歌地图)
- python - 如何使用带有通配符的python打开目录中的多个文件