是否有C或c++的高级图形绘制API ?
Is there a high level shape drawing API for C or C++?
我正在启动一个新项目(Windows应用程序),它需要一个简单的图形界面。图形并不是应用程序的重点,它们背后的算法才是,所以我想花尽可能少的时间考虑图形。
我需要画简单的形状,用线连接它们,并标记形状和边缘。我理想的API看起来像
n1 = Rectangle(width, height, center1);
n1->label("Node1");
n2 = Circle(radius, center2);
l = Line(n1->rightEdge()->midpoint()), (n2->center()-Point(n2->radius,0));
l->label("pathway",BELOW);
我知道我当然可以使用一个低级库来构建这个抽象级别。但我宁愿不要,如果已经做过了。具有这种抽象层次的图形库存在吗?我对C/c++也同样满意。c#也是一个选择。
由于编写这种高级系统通常很容易,给定低级绘图API,您通常不会看到这种2D场景图形库。这种场景中有明确的对象,你可以在对象的层次上移动对象。
我能想到的最接近的是WPF处理绘图的方式,您可以在其中创建图形对象并将其附加到窗口。
其他一切,无论是Cairo, AGG, Direct2D等都是即时绘图api。没有可以操作或附加标签的"对象"。你只需要在一个位置上画一些东西。如果你想移动某个东西,你必须把它画在新位置
我使用SDL来满足我的图形需求。我只在OpenGL上下文中使用它(它处理得很好),但它对于获得高效和可移植的图形工作非常友好。如果你不想处理OpenGL,有一些软件绘图例程可用。
微软推出了新的Windows Direct2D API,主要针对矢量图形。
也许AGG适合您。如果你后退几步,你也会发现一个更适合商业开发的许可证。
您也可以尝试使用qt libQt是一个伟大的工具包和多平台
相关文章:
- 如何使用painter类绘制svg图形
- 如何在窗口外绘制图形(OpenGL GLFW)
- 如何在x轴左右绘制图形
- wxWidgets 绘制实时图形的最佳控件
- 绘制非常大的 2D 图形时出现问题
- 计算机图形:我自己绘制三角形
- 使用 c++ 中函数的执行时间绘制图形
- 使用图形可视化绘制自定义 BGL 图
- 如何快速绘制10000 2D图形对象
- Qt图形绘制
- 添加可绘制对象层以将逻辑与图形分离
- 用于绘制 UI 组件图形的库
- 如何使用C++程序中的gnuplot绘制图形
- Qt QPainter in paintEvent消除了使用paintGL绘制的图形
- 在 qt 中绘制图形和自定义绘图库绘制曲线
- 如何在不使用任何框架或库的情况下在屏幕上绘制图形
- 需要有关使用可视化C++创建图形绘制图形的建议
- 用 C++ 或 C 绘制图形数据
- 平面图形绘制c++
- 是否有C或c++的高级图形绘制API ?