20

有没有图书馆

  1. 允许将 svg 直接绘制到 Windows 窗体应用程序
  2. 到 WPF 应用程序

我用Inkscape绘制图形和设计一切,因为我喜欢那个程序。然后我有那些令人惊叹的 svgs 并且必须将它们导出到 png (WinForm) 以使用它们或将它们转换为 xaml-code (WPF) ( Kaxaml帮助我)。

有没有办法直接使用我的 svgs?

4

4 回答 4

10

,我刚刚读到Inkscape 支持另存为 XAML。到现在为止我还没有意识到这种耻辱

但这仍然不能解决我的 WinForms 问题......

于 2009-01-22T07:16:46.710 回答
7

我个人讨厌微软的产品/开发工具中没有对 SVG 的原生支持。我发现了两个相当完整但仍然不成熟的 SVG 库,它们在撰写本文时似乎很活跃,但肯定需要贡献者。

IIRC 两个库都输出一个可以通过 Image 类直接使用的绘图对象;你会明白的,它们都非常易于使用。

于 2009-09-23T19:49:49.403 回答
6

如果您想将它们直接加载到 WPF 中,我可以从以下位置获得更好的结果:https ://github.com/ElinamLLC/SharpVectors

于 2011-01-27T08:55:26.983 回答
4

是的,您可以使用AB4D的 ReaderSVG 直接从 XAML 获取 WPF。

关于 WinForms,删除了之前指向 Kent Boogart 示例的链接,因为它在 2019 年的某个时候被删除。

从此dotnetways 帖子中复制以下内容

要将 WPF 控件或 WPF 用户控件(在此示例中为 wpfControl)托管到 Windows 窗体应用程序中,请创建 ElementHost 类的实例并将您的 WPF 控件/用户控件作为子项添加到 ElementHost 的实例中。

    using System.Windows.Forms.Integration;   
    //Assembly:   WindowsFormsIntegration (in WindowsFormsIntegration.dll) 

//...

    ElementHost elementHost = new ElementHost();  
    elementHost.Dock = DockStyle.None;  
    elementHost.Child = wpfControl; 

现在,将 ElementHost 的实例添加到 Windows 窗体中的容器控件(例如此处的 containerPanel)

    containerPanel.Controls.Add(elementHost);  
于 2009-02-25T07:58:16.433 回答