C++/C# 路径/矢量绘图库 (2D)

本文关键字:绘图 2D 路径 C++ | 更新日期: 2023-09-27 18:36:54

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

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

路径的示例图像,包括手柄和封闭矩形

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

感谢您的阅读!

保尔

C++/C# 路径/矢量绘图库 (2D)

你的要求太多了。我以前用Qt,很方便。使用信号和时隙来实现回调非常容易。Qpainter可以画很多形状,但我不确定它能不能满足您的要求。你可以了解更多关于Qt的信息,它有很多演示需要学习。

OpenGL可以满足你的所有请求,实现你想要的东西似乎并不困难。

要开始使用,您可以参考

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

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

一旦你熟悉了基本的OpenGL技能,还有一个关于如何使用OpenGL创建更复杂的东西的教程,比如贝塞尔曲线。尽管本教程不能完全按照您想要的方式工作,但您仍然可以添加控制点,并使用 glut 函数进行拖放。

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