有没有一种方法可以通过SkiaSharp异步加载SVG图形?

时间:2019-02-08 11:13:45

标签: svg skiasharp

我正在使用SkiaSharp加载SVG图形。这是一个站点计划,因此相当复杂,并且加载时间很长。在我的Samsung Galaxy手机上,大约需要3秒钟,在此期间手机完全锁定,这是完全不能接受的。

我正在使用SkiaSharp.Extended.Svg.SKSvg,但是找不到Load()方法的异步版本。有一个吗?或者也许是一种更好的方法?

我将对象叠加在站点计划之上,并且花了我相当多的时间来对所有缩放和对齐进行排序,因此,如果可能的话,我想坚持使用SkiaSharp,而不是完全从头开始。不同于从头开始。

感谢您的帮助!

1 个答案:

答案 0 :(得分:0)

3秒听起来有点长...

这可能不是SVG部分,而是文件从文件系统中的加载。

无论哪种方式,您都可以将整个思维加载到后台任务中(伪代码):

var picture = Task.Run(() => {
    var stream = LoadStream();
    var svg = LoadSvg(stream);
    return svg.GetPicture();
});