c# – 我可以使用SkiaSharp将SVG渲染到PNG吗?
发布时间:2020-12-15 21:05:22 所属栏目:百科 来源:网络整理
导读:我正在尝试使用SkiaSharp将SVG文件转换为PNG.我知道有很多选择,但我想评估它的SVG负载支持. 这可能吗?我试过这个: var svg = new SKSvg(new SKSize(200,200));svg.Load("image.svg");var bitmap = new SKBitmap((int)svg.CanvasSize.Width,(int)svg.Canvas
我正在尝试使用SkiaSharp将SVG文件转换为PNG.我知道有很多选择,但我想评估它的SVG负载支持.
这可能吗?我试过这个: var svg = new SKSvg(new SKSize(200,200)); svg.Load("image.svg"); var bitmap = new SKBitmap((int)svg.CanvasSize.Width,(int)svg.CanvasSize.Height); var canvas = new SKCanvas(bitmap); canvas.DrawPicture(svg.Picture); canvas.Flush(); canvas.Save(); using (var image = SKImage.FromBitmap(bitmap)) using (var data = image.Encode(SKImageEncodeFormat.Png,80)) { // save the data to a stream using (var stream = File.OpenWrite("image.png")) { data.SaveTo(stream); } } 但我只是得到一个空图像. 解决方法
是的,它可以.上面的代码适用于SkiaSharp附带的测试SVG.
https://github.com/mono/SkiaSharp/blob/8ca298b448810cf65ab13cd7b2de94c627a033c1/tests/Content/images/logos.svg.
我的SVG可能不受支持.如果我想进一步调查,我会发布不同的问题. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |