【发布时间】:2017-05-19 16:01:45
【问题描述】:
有没有办法直接在 Image 控件中加载 svg,而不保存应作为 Image 控件源加载的文件?
我需要在我的 UWP 应用程序中显示从某个 web api 接收到的 svg。目前我保存了一个使用 SvgImageSource 加载的临时文件,如下所示:
在 Xaml 中:
<Image Name="image"/>
在代码后面:
var newFile = await ApplicationData.Current.LocalFolder.CreateFileAsync(Guid.NewGuid().ToString() + ".svg");
var writeStream = await newFile.OpenStreamForWriteAsync();
await writeStream.WriteAsync(Encoding.ASCII.GetBytes(someCustomSvg), 0, someCustomSvg.Length);
writeStream.Dispose();
image.Source = new SvgImageSource(new Uri(newFile.Path));
这可行,但效率不高。
我需要一些东西来将 svg 加载到图像控件中,而不必在磁盘上保存临时文件。
我知道我可以在 WebView 控件中加载 svg,但这也没有使用 Image 控件渲染 svg 的效率。
有没有办法做到这一点?
【问题讨论】: