graphics.h的替代品

Alternatives to graphics.h

本文关键字:替代品 graphics      更新时间:2023-10-16

大学这学期我们有一门计算机图形学入门课程。没有关于如何做实验练习的推荐方法。大多数学生都使用Turbo C和内置的graphics.h头文件。

我对此有点担心,Turbo C是70年代的东西,学习它的东西对我来说似乎毫无意义。我可以为流血dev - c++编译器设置graphics.h,也可以在linux系统上设置libgraph。

是否有一些替代Borland图形。h ?我正在寻找相对现代的解决方案,相对简单的意义上说,他们不添加太多的样板代码等,但实现相同的功能。

给出一些关于我们将要做的任务的更多信息,我们将实现基本的图形算法,如DDA算法,布雷斯纳姆算法,扫描转换等。所以我需要能够在屏幕上绘制像素,我不需要一个非常高级的库,它可以自己绘制像直线和圆这样的基本元素。如果可以,那就太好了,但是要学习的话,我应该能够在屏幕上绘制原始像素

Allegro或SDL库可能适合您。

我也建议不要使用流血的dev - c++,因为它也有点过时。您可以使用MS vc++ Express或Code::Blocks,它们都是免费的。

看一下Cinder。这是一个为"创造性编码"而设计的c++库,看起来非常简单易用,同时仍然功能强大(查看示例)。

您也可以尝试SFML。它有相当多的追随者,如果你有任何麻烦,你会有一个大的社区支持你。

如果你正在寻找"现代"answers"没有太多的样板文件"为什么不JavaScript?它将直接在浏览器中运行,你可以使用<canvas>元素,也可以在你提供给学生的脚本中捆绑一个setPixel DOM函数。

这里有一个链接,你可以看看:http://www.codeproject.com/KB/scripting/javascriptlinedrawing.aspx.

和一个SO问题:Javascript中的Bresenham算法。

如果你致力于c++,总是有OpenGL,但我认为有一点更多的学习曲线。以前有BGI, GRX代表DJGPP(有人记得那个吗?)我不知道有多少用于向屏幕写入像素的与设备无关的库(GDI和Xlib太过特定于操作系统)。在Perl/Python/Tcl的世界里有Tk,它是独立于操作系统的。

我个人喜欢JavaScript的低级图形算法-没有设置!——但如果你没有被c++束缚,它可能值得一看。但是如果你没有时间教JavaScript,也许你的学生可以实现一些算法来获得额外的学分。

SDL是您最好的选择。我无法让graphics.h与Dev c++一起工作,因为新版本的Windows与它不兼容。如果你只想画窗口和UI之类的东西,另一个可能有用的图形库是GLFW。

https://easyx.cn/

此库与Visual Studio的BGI(Borland Graphics Interface,这意味着它使用"Graphics .h")API兼容。