带有C#绑定的Windows矢量图形库

时间:2011-04-30 00:17:32

标签: c# .net graphics vector-graphics

为了好玩,我想看看我是否可以创建一个有点像WPF的小子集的库:一个托管模板驱动的基于矢量的图形系统。 (我有一些理论我想测试。)然而,我不是一个图形天才,我正在寻找一个好的矢量图形库。

我知道微软在内部使用MilCore,它或多或少似乎传递了从托管世界到非托管世界的矢量结构列表并呈现它们。我相信这个底层库是基于立即模式的。我想使用现有的免费矢量图形库以及所需功能的清单:

  1. 基于矢量
  2. 立即或保留模式,最好是立即?
  3. 像素着色器支持
  4. 几何命中测试会很不错
  5. 图像支持,图像旋转支持
  6. .NET绑定
  7. 稳定到小规模的商业可行性
  8. 我不需要的东西:

    1. 跨平台支持。如果将其锁定到DirectX甚至Direct3D 10或11中,那就这样吧。
    2. 对任何类似“控件”的图形进行更高级别的图形管理。这层管理我可能想自己做。
    3. 我不害怕有点互操作。
    4. 超级棒的表演者。我希望这是高效的,但如果可用性因此而受到太大影响,我就不会成功。
    5. 这个库http://jeremiahmorrill.com/2011/02/05/a-simple-directcanvas-tutorial/看起来与我想要的类似,但最好更稳定,有更多例子。
      如果可能的话,我更喜欢DX / OpenGL上面的一层。

      我有哪些选择?这是存在还是只是一个白日梦?提前谢谢 - 我觉得我刚刚输入购物清单,但我真的很感谢社区对此的反馈。它似乎不适合我在这里列出的其他矢量图形问题,但如果我错过了一篇很棒的帖子,请告诉我!

4 个答案:

答案 0 :(得分:3)

我曾在VG.NET图书馆工作过几次。它非常易于使用,拥有出色的设计师,图像和动画也很快。这是我最好的推荐。

答案 1 :(得分:1)

我之前用过Cairo矢量图形。这是一个很好的入门库(跨平台,许多语言绑定,开源等)。

您可以在此处查看语言绑定:

http://cairographics.org/bindings/

我已经使用这些.NET / Mono绑定(由NDesk完成)并取得了巨大的成功:

http://git.ndesk.org/?p=cairo-sharp

答案 2 :(得分:0)

你可以尝试SlimDX http://en.wikipedia.org/wiki/SlimDX - 他们有Direct2D和DirectX包装器。我相信它们都能满足你的要求。

答案 3 :(得分:0)

您可以看到Mono + Open GL将为您提供.NET和Open GL的强大功能,但您必须深入了解open gl来构建您的库,但这将确保平台独立性。

http://www.opentk.com/

http://www.mono-project.com/Tao

我自己还没有尝试过任何一种,但看看样品,它们似乎很容易开始。完成Open GL之后将会很有用,因为即使像iPhone这样的移动设备也支持Open GL。