c++ - 是否有用于 C 或 C++ 的高级形状绘图 API?

标签 c++ c windows drawing shapes

我正在开始一个新项目(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 处理绘图的方式,您可以在其中创建图形对象并将它们附加到窗口。这只是 .NET。

其他的,无论是Cairo、AGG、Direct2D等,都是即时绘图API。没有您可以操纵或附加标签的“对象”。您只需在某个位置绘制东西。如果你想移动一些东西,你必须在那个新位置画东西。

关于c++ - 是否有用于 C 或 C++ 的高级形状绘图 API?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7543471/

相关文章:

c++ - gcc stdio.h 错误

c++ - 编译的程序找不到 freeglut.dll

c - 使用带有类型 def 结构变量的条件语句时遇到问题

c - 设置定时器中断 1Hz、2Hz...并以它的方式完成所有工作意味着一种原始的 RTOS?

ios - 如何在Windows操作系统上开发iPhone应用程序?

c++ - 在运行时使用继承的代码选择器

C++参数评估顺序

c - 添加源文件后,gcc 不会让我使用 'just compile' c 源

c++ - 如何将 "safely"文件夹删除到回收站

c - 制作宽字 rune 件