我正在尝试使用 Xamarin 的媒体插件https://github.com/jamesmontemagno/MediaPlugin将相机覆盖功能作为依赖服务传递到我的共享代码中。
我无法弄清楚如何正确实现依赖服务。该应用程序运行,但是当我打开相机时,它不显示覆盖。如果有人可以帮助我编写代码,或者指导我使用覆盖选项的示例,我将不胜感激。
我的界面代码:
public interface IPhotoOverlay
{
object GetImageOverlayAsync();
}
我的 iOS 代码:
public object GetImageOverlayAsync()
{
Func<object> func = CreateOverlay;
return func;
}
public object CreateOverlay()
{
var imageView = new UIImageView(UIImage.FromBundle("face-template.png"));
imageView.ContentMode = UIViewContentMode.ScaleAspectFit;
var screen = UIScreen.MainScreen.Bounds;
imageView.Frame = screen;
return imageView;
}
我的共享代码:
var photo = await Plugin.Media.CrossMedia.Current.TakePhotoAsync(new Plugin.Media.Abstractions.StoreCameraMediaOptions() {
OverlayViewProvider = DependencyService.Get<IPhotoOverlay>().GetImageOverlayAsync,
DefaultCamera = Plugin.Media.Abstractions.CameraDevice.Front});