【问题标题】:Library for using SVG in Windows Forms / WPF?在 Windows 窗体/WPF 中使用 SVG 的库?
【发布时间】:2010-10-02 20:48:49
【问题描述】:

有没有什么库

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

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

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

【问题讨论】:

    标签: xaml svg inkscape


    【解决方案1】:

    如果您想将它们直接加载到 WPF 中, 我得到了更好的结果:https://github.com/ElinamLLC/SharpVectors

    【讨论】:

      【解决方案2】:

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

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

      this dotnetways post复制以下内容

      要将 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);  
      

      【讨论】:

      • 修复了死链接
      【解决方案3】:

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

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

      【讨论】:

      • 我想把这个工具加入列表:github.com/BerndK/SvgToXaml我写的,因为我对其他工具不满意,确定它也是开源的。
      【解决方案4】:

      ,我just read Inkscape 支持保存为 XAML。直到现在我还没有意识到这一点羞耻

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

      【讨论】:

      • 不幸的是它还没有准备好,它将被实施,希望它会在 Inkscape 0.47 版中推出
      • 另存为 XAML 在 0.48(可能更早)中实现。
      猜你喜欢
      • 1970-01-01
      • 2011-03-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2010-10-15
      • 2016-11-08
      • 2012-05-31
      • 2012-07-22
      相关资源
      最近更新 更多