我正在开始一个新项目(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/