我正在开始一个新项目(Windows应用程序),它需要一个简单的图形界面。图形不是应用程序的主要部分,它们背后的算法是,所以我想花尽可能少的时间思考图形。C或C++有高级形状绘制API吗?
我需要绘制简单的形状,用线连接它们,并标记形状和边缘。我的理想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#也是一个选项。
这很不幸。看起来这种类型的东西一定是多次创建的,我很惊讶没有人开源。 – AShelly
@AShelly会有什么好的服务?无论开发什么系统,都将无情地绑定到底层渲染系统。如果我为开罗写了这样的东西,那么你将会使用开罗来使用它。有一套可用的渲染系统,无论是用于不同的平台还是其他。所以这样的代码将不可避免地是高度专业化的;仅适用于使用该特定渲染系统的小部分程序员。 –
@NicolBolas这似乎有点短视。你的答案是“一般缓解”,但是一旦你开始包括动画,用户交互等等,一个高层次的绘图库可能会变得相当复杂的系统。不断重写这些系统是浪费时间,它会是很高兴看到更多事实上的标准选项。一个外推的例子是iPhone的Cocos2D,它实际上只是一个2D的包装API,可以提供对精灵,场景,图层等的支持。但与从头构建新的游戏引擎相比,它节省了大量的开发时间。 – wallacer