我构建了一个应用程序,用户可以加载报告并在屏幕上绘画以突出显示并共享一些信息(作为图像)。我使用undefined
和Rg.Plugins.Popup.Pages.PopupPage
开发了此功能。弹出页面具有透明背景和sharecontent按钮。用户在弹出页面中绘制。
在Android上,这可以很好地工作,因为我可以使用SkiaSharp
拍摄整个屏幕,但是在iOS中,当我拍摄屏幕快照时,图像会变成黑色背景。我使用以下代码拍摄屏幕截图:
currentview.Window.DecorView.RootView
如何在Xamarin iOS中绘制具有透明背景的图像?
共享项目中PopupPage的代码隐藏
public void ShareContent(string imageName)
{
UIGraphics.BeginImageContextWithOptions(new CoreGraphics.CGSize(UIScreen.MainScreen.Bounds.Width, UIScreen.MainScreen.Bounds.Height), false, 0);
UIImage capture = UIApplication.SharedApplication.KeyWindow.Capture();
UIGraphics.EndImageContext();
var activityItems = new[] { capture };
var activityController = new UIActivityViewController(activityItems, null);
var topController = UIApplication.SharedApplication.KeyWindow.RootViewController;
while (topController.PresentedViewController != null)
{
topController = topController.PresentedViewController;
}
topController.PresentViewController(activityController, true, () => { });
}