我正在尝试在我的C#项目中使用vvvv/SVG库(https://github.com/vvvv/SVG,当前版本)。我已经设法完成了一些简单的绘图,但当渲染文本时出现了奇怪的行为。
以下代码向SvgDocument添加了文本元素,但位图中没有呈现任何文本。
this.SvgDoc = new SvgDocument();
this.SvgDoc.Width = new SvgUnit(400);
this.SvgDoc.Height = new SvgUnit(400);
SvgText txt = new SvgText("TEST");
txt.X.Add(new SvgUnit(100));
txt.Y.Add(new SvgUnit(100));
//txt.FontFamily = "Arial";
txt.FontSize = new SvgUnit(15);
txt.Fill = new SvgColourServer(Color.Black);
this.SvgDoc.Children.Add(txt);
var bmp2 = this.SvgDoc.Draw();
this.PBoxRes.Image = bmp2;
如果我尝试添加例如圆形节点,它会正常渲染。文本不会渲染,直到我将svg存储为字符串,使用SvgDocument.FromSvg()解析后再渲染位图。虽然这样可以工作,但对于较大的SVG和微小的更改速度太慢。有没有什么办法可以使文本立即可渲染,而无需重新解析?