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

本文关键字:图形库 Windows 绑定 带有 | 更新日期: 2023-09-27 17:53:45

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

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

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

我不需要的东西:

  1. 跨平台支持。如果这将它锁定在DirectX甚至Direct3D 10或11中,那就这样吧。
  2. 在任何类似于"控件"的图形中进行更高级别的管理。这一层的管理我可能想自己来做。
  3. 我不害怕一个小插曲。
  4. 超级棒的性能。我希望这是性能,但如果可用性受到太多影响,我不会成功的。

这个库http://jeremiahmorrill.com/2011/02/05/a-simple-directcanvas-tutorial/看起来类似于我想要的,但最好是更稳定的东西和更多的例子。
如果可能的话,我更喜欢DX/OpenGL之上的层。

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

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

我曾多次使用VG。网络图书馆。它真的很容易使用,有很棒的设计师,图像和动画都很快。这是我最好的推荐。

我以前在矢量图形中使用过Cairo。它是一个很好的入门库(跨平台、多语言绑定、开源等)。

你可以在这里查看语言绑定:

http://cairographics.org/bindings/

我已经成功地使用了这些。net/mono绑定(由NDesk提供):

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

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

你可以看到Mono + Open GL将给你。net和Open GL的能力,但你必须深入使用Open GL来构建你的库,但这将确保平台独立性。

http://www.opentk.com/

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

我自己还没有尝试过其中任何一个,但是看看样本,它们似乎很容易开始。在Open GL上做的工作会很有用,因为即使像iPhone这样的移动设备现在也支持Open GL了。