C++/C# 路径/矢量绘图库 (2D)
C++/C# path/vector drawing library (2D)
我正在寻找一个可以帮助我绘制多边形、向量和路径的工具包/库。除了实际绘制2D元素外,库还应该能够将手柄绘制到这些元素的基点,因此我能够通过拖放来移动它们。这意味着 lib 还处理拣选例程(或者至少允许我定义回调)。
请参阅下图包含单条直线和三次贝塞尔曲线的路径(包括一些手柄和完整路径的封闭矩形):
路径的示例图像,包括手柄和封闭矩形
我不确定是否有这样的库(在 C++/C# 中)。还没能找到。我是否坚持自己绘制此示例图中的所有元素?
感谢您的阅读!
保尔
你的要求太多了。我以前用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/
相关文章:
- 2D数组来自文本输入,中间有空格
- 将值指定给向量(2D)的向量中的某个位置
- 如何使用用户输入在C++中正确填充2D数组
- 如何在C++中检查2D数组中负值的输入验证
- 当我在main中声明了我的2d数组时,为什么我的程序会退出
- 在 2D 向量中使用第三个 [ ] 有什么意义?
- 四边形的 2D 旋转
- 打印第二列时的2d字符矢量打印空间
- 如何将以逗号和空格分隔的整数读取到 2D 数组中?
- 如何在C++函数中声明静态 2D 数组?
- 我是 C++ 的初学者,我想知道如何在 2D 矢量中获取重复值
- 如何声明一个可以在整个程序中使用的全局 2d 3d 4d .. 数组(堆版本)变量?
- opengl glBegin(GL_LINES) 和 glBegin(GL_POINT) 在 2D 中不可视化点矢量
- 在C++中迭代 2D 容器的最干净方法
- 如何引用 2D 指针?
- DirectX 10 3D场景随着2D绘图而消失
- C++/C# 路径/矢量绘图库 (2D)
- 任何关于2d绘图和绘画的好教程
- 现代OpenGL 2D和3D绘图问题
- linux的c++ 2d绘图工具