使用xamarin.forms 调用安卓相机,想达到下图这种效果,
在相机预览上面画一个框,按拍照按钮后自动只保存框中的图片部分。框以外的黑色区域在预览时改成半透明状态,便于拍照者在使用中定位拍摄位置。
我现在使用了微软的官方文档里面的代码,
文档地址:https://docs.microsoft.com/en-us/xamarin/xamarin-forms/app-fundamentals/custom-renderer/contentpage
先创建一个名为CameraPage的contentpage页面,然后在mainpage页面点击按钮可以push出该页面,到这一步:
后面的创建安卓端自定义页面渲染器那里老是错误,把视频流添加不进去。
在这里出的错:
[assembly: ExportRenderer(typeof(CameraPage), typeof(CameraPageRenderer))]
namespace CustomRenderer.Droid
{
public class CameraPageRenderer : PageRenderer, TextureView.ISurfaceTextureListener
{
...
public CameraPageRenderer(Context context) : base(context)
{
}
protected override void OnElementChanged(ElementChangedEventArgs<Page> e)
{
base.OnElementChanged(e);
if (e.OldElement != null || Element == null)
{
return;
}
try
{
SetupUserInterface();
SetupEventHandlers();
AddView(view);
}
catch (Exception ex)
{
System.Diagnostics.Debug.WriteLine(@" ERROR: ", ex.Message);
}
}
...
}
}
希望可以比官方文档那里更具体的指导下如何在安卓的项目里面操作。