在 .NET/C# 中绘制 SVG?

发布于 2024-08-07 01:14:20 字数 1539 浏览 6 评论 0原文

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(4

清引 2024-08-14 01:14:20

查看C# 中的 SVG 框架和 SVG-GDI+ 桥项目。

从上面的网页...

SvgGdi 桥是一组类
使用 SvgNet 在之间进行转换
SVG 和 GDI+。这意味着什么
任何使用 GDI+ 绘图的代码
图形可以轻松输出 SVG 作为
好吧,只需插入
SvgGraphics 对象。这个物体是
与常规 .NET 完全相同
图形对象,但创建 SVG
树。即使是像阴影填充这样的东西
并实现了线锚点。

Check out the SVG framework in C# and an SVG-GDI+ bridge project.

From the above web page...

The SvgGdi bridge is a set of classes
that use SvgNet to translate between
SVG and GDI+. What this means is that
any code that uses GDI+ to draw
graphics can easily output SVG as
well, simply by plugging in the
SvgGraphics object. This object is
exactly the same as a regular .NET
Graphics object, but creates an SVG
tree. Even things like hatched fills
and line anchors are implemented.

飘过的浮云 2024-08-14 01:14:20

我们在 Github 上公开了 C# .NET SVG 库的分支。

它比您在 Codeplex 上找到的有很大改进,请查看并根据需要分叉它:

https ://github.com/svg-net/SVG

编辑:
只是想让您知道,截至 2024 年 2 月:

虽然其他人似乎已经死了很多年,但这个仍然活跃。但我们绝对可以使用其他开发人员的一些帮助。

We have made a public fork of the C# .NET SVG library on Github.

It is much improved over the one you find on Codeplex, please have a look and fork it as you like:

https://github.com/svg-net/SVG

Edit:
Just to let you know, as of February 2024:

While others seem dead for years, this is still active. But we could definitely use some help from other developers.

蛮可爱 2024-08-14 01:14:20

我用过这个http://svg.codeplex.com/,我对它非常满意。仍然存在一些错误,因此您应该查看 http://svg.codeplex.com 中的补丁/SourceControl/PatchList.aspx

当我发现可以解决的错误时,我会直接将其发布在那里。但那里的人需要一些时间来评估。最好查看补丁并亲自应用它们。

该图书馆足以满足大多数日常需求。对于真正奇特的东西,它需要改进思想......

I used this one http://svg.codeplex.com/ and I am quite satisfied with it. Still has some bugs so you should have a look at the patches in http://svg.codeplex.com/SourceControl/PatchList.aspx.

When I discover mistakes I can solve I post them directly there. But it takes some time to be evaluated by the guys there. It's a better idea to have a look at the patches and apply them yourself.

The library is reasonably sufficient for most usual needs. for really fancy stuff, it needs to be improved thought...

巷雨优美回忆 2024-08-14 01:14:20

由于 SVG 基本上是一个 XML 文档 - 您可以自己实现“绘图”。请访问 W3C SVG 规范 查看规范。我曾经做过一次生成 SVG 签名图像,只花了几个小时和一个 Firefox 来测试生成的图像。

当然,如果您根据用户输入生成图像,或者您不介意花一些时间从另一种矢量图像格式进行转换,则这适用。

PS您可以创建自己的包装器来模仿System.Drawing.Graphics,例如DrawLine()以附加到内部缓冲区等。

As SVG is basically a XML document - you can implement "drawing" yourself. Check the specs at W3C SVG spec. I did it once to generate SVG signature images, all it took was a couple of hours and a firefox to test the generated image.

Of course this applies if you are generating image from user input or if you do not mind spending some time doing conversion from another vector image format.

P.S. you can create your own wrapper to mimic System.Drawing.Graphics, e.g. DrawLine() to append to the internal buffer and so on.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文