在 svg 中添加 foreignObject

Add foreignObject in svg

提问人:chriswaddle 提问时间:11/16/2023 最后编辑:chriswaddle 更新时间:11/16/2023 访问量:48

问:

我正在与一个foreignObject战斗以添加到我的svg中。 我能够编辑原始 svg 文件,但不能通过 c#

这里我的foreignObject要添加,在:

<foreignObject xmlns="http://www.w3.org/2000/svg" x="90.12" y="32.37" height="20px" width="50px">
  <a xmlns="http://www.w3.org/1999/xhtml" style="color:white; font-size:4px; text-decoration-line: none; background-color:red" href="http://www.google.it">GV36LV04-M1000021</a>
  </foreignObject>

我尝试以这种方式,但什么都没有出现(Edge):

XNamespace ns_xhtml = "http://www.w3.org/1999/xhtml";
XElement fo = new XElement(ns + "foreignObject");
fo.Add(new XAttribute("x", e.x.ToString().Replace(",", ".")));
fo.Add(new XAttribute("y", (e.y - 14).ToString().Replace(",",".")));
fo.Add(new XAttribute("height", "100px"));
fo.Add(new XAttribute("widht", "100px"));

XElement a = new XElement(ns_xhtml + "a");
a.SetAttributeValue("style", "color:white; font-size:4px; text-decoration-line: none; background-color:red");
a.SetAttributeValue("href", "http://www.google.it");
a.SetValue(e.valore);
fo.Add(a);

doc.Root
.DescendantsAndSelf()
.Elements()
.Single(d => d.Name.LocalName == "defs")
.AddAfterSelf(fo);

我注意到我的代码不会仅在foreingObject中显示xmlns属性,即使它在VS对象中也是如此(见下图)

要解决什么问题?

enter image description here

多谢!

C# SVG LINQ-TO-XML

评论


答: 暂无答案