C++/C# path/vector 绘图库(2D)

C++/C# path/vector drawing library (2D)

我正在寻找可以帮助我绘制多边形、矢量和路径的工具包/库。除了实际绘制 2D 元素外,该库还应该能够绘制这些元素基点的句柄,这样我就可以通过拖放来移动它们。这意味着该库还处理拾取例程(或者至少允许我定义回调)。

请参阅下图,其中包含单条线和三次贝塞尔曲线(包括一些手柄和完整路径的封闭矩形):

example image of path including handles and enclosing rectangle

我不确定是否有这样的库(在 C++/C# 中)。还没有找到一个。我是否坚持自己绘制此示例图中的所有元素?

感谢阅读!

保罗

你的要求太多了。我以前用Qt,很方便。使用信号和槽实现回调非常容易。 Qpainter 可以画很多形状,但我不确定它是否能满足你的要求。 Qt你可以了解更多,它有很多demo可以学习。

OpenGL满足你所有的要求,实现你想要的似乎也不是很难。

入门可以参考

http://www.lighthouse3d.com/tutorials/glut-tutorial/setup-basics/

使用 GLUT,您可以轻松创建 OpenGL windows,创建和绘制图形。 鼠标和键盘事件也有回调,您可以在其中添加处理程序。即使您不想使用 GLUT,也有许多教程告诉您如何开始使用 OpenGL。

一旦您熟悉了基本的 OpenGL 技能,还有一个教程介绍如何使用 OpenGL 创建更复杂的东西,例如贝塞尔曲线。虽然本教程不能完全按照您的要求运行,但您仍然可以添加控制点,并使用过剩功能进行拖放。

http://nehe.gamedev.net/tutorial/bezier_patches__fullscreen_fix/18003/