我有一段代码,我使用UIGraphics方法,似乎我使用的三个方法都被弃用了。
这是一段Xamarin.iOS代码,但我相信Swift用户也可以在这里提供帮助,有人能帮助我了解这些方法的新方法吗?我正在尝试谷歌这个,但我似乎没有得到任何直接的线索来代替这些方法。
以下三种方法已被弃用;
UIGraphics.BeginImageContextWithOptions(size, false, ScreenDensity);
var image = UIGraphics.GetImageFromCurrentImageContext();
UIGraphics.EndImageContext();
字符串
完整的代码如下,不确定这是否有帮助。
private UIImage CreateBufferImage()
{
if (paths is null || paths.Count == 0)
{
return null;
}
var size = Bounds.Size;
UIGraphics.BeginImageContextWithOptions(size, false, ScreenDensity);
var context = UIGraphics.GetCurrentContext();
context.SetLineCap(CGLineCap.Round);
context.SetLineJoin(CGLineJoin.Round);
foreach (var path in paths)
{
context.SetStrokeColor(path.Color.CGColor);
context.SetLineWidth(path.Width);
context.AddPath(path.Path.CGPath);
context.StrokePath();
path.IsDirty = false;
}
var image = UIGraphics.GetImageFromCurrentImageContext();
UIGraphics.EndImageContext();
return image;
}
型
谢谢
1条答案
按热度按时间pw9qyyiw1#
您现在应该使用
UIGraphicsImageRenderer
API来绘制图像。字符串
你应该传入一个
Action<UIGraphicsImageRendererContext>
到CreateImage
来绘制你的图像。图像将由CreateImage
返回。型