当内容比帧宽时,Xamarin iOS屏幕截图会被截断

时间:2014-05-03 07:54:58

标签: ios xamarin.ios xamarin

我正在尝试使用xamarin保存图表的屏幕截图。一切都很好,除了有时候图表比框架宽,用户需要滚动 - 保存截图这给我一个截断的图表。现在已经在这个问题上抓了近2天,下面是代码。希望有人能指出我的事情。

UIImage image;
UIGraphics.BeginImageContext (UIScreen.MainScreen.ApplicationFrame.Size);
View.DrawViewHierarchy (View.Frame, true);
image = UIGraphics.GetImageFromCurrentImageContext ();
UIGraphics.EndImageContext ();
image.SaveToPhotosAlbum((img, err) => {
...
});

1 个答案:

答案 0 :(得分:0)

尝试使用这样的函数:

public UIImage SnapshotImageWithCrop (UIView view, float locHorizontal, float locVertical, float widthSize, float heightSize)
    {
        UIGraphics.BeginImageContext (view.Frame.Size);
        view.DrawViewHierarchy (view.Frame, true);
        UIImage image = UIGraphics.GetImageFromCurrentImageContext ();
        UIGraphics.EndImageContext ();

        UIImage croppedImage;
        using (CGImage cr = image.CGImage.WithImageInRect (new RectangleF (locHorizontal, locVertical, widthSize, heightSize))) {
            croppedImage = UIImage.FromImage (cr);
        }
        return croppedImage;
    }