graphics.h的替代方案[非公开]

问题描述 投票:7回答:5

我们大学这学期有一门计算机图形学的入门课程。对于如何进行Lab练习,没有推荐的方法。大部分同学都是求助于Turbo C和内置的graphics.h头文件。

我对此有些忐忑,Turbo C是70年代的东西,在它上面学习东西,我觉得没有意义。我也可以为Bloodshed Dev-C++编译器设置graphics.h,或者在linux系统上设置libgraph。

我正在寻找相对现代的解决方案,这些方案相对简单,不需要添加太多的模板代码等,而且还能实现同样的功能。

为了提供更多关于我们要做的任务的信息,我们将实现基本的图形算法,如DDA算法、Bresenham算法、扫描转换等。因此,我需要能够在屏幕上绘制像素,我不需要一个真正的高级库能够自己绘制线条和圆圈等基元。如果它能的话,那就太好了,但是为了学习,我应该能够在屏幕上绘制原始像素。

c++ graphics turbo-c++
5个回答
7
投票

AllegroSDL 库可能适合你。

我还建议不要使用Bloodshed Dev-C++,因为它也有点过时了。你可以使用 MS VC++ ExpressCode::Blocks 这两个都是免费的。


2
投票

看一看 煤渣. 这是一个为 "创造性编码 "而设计的C++库,看起来很简单,同时也很强大(查看示例)。

你也可以试试 SFML. 它有相当多的追随者,如果你有任何问题,你会有一个庞大的社区支持你。


0
投票

如果你正在寻找 "现代 "和 "不多的模板",为什么不使用JavaScript呢? 它将直接在浏览器中运行,你可以使用 <canvas> 元素或捆绑 setPixel 在你提供给学生的脚本中实现DOM功能。

这里有一个链接,你可以看看。http:/www.codeproject.comKBscriptingjavascriptlinedrawing.aspx.

还有一个SO的问题。Javascript中的Bresenham算法.

如果你致力于C++,总有OpenGL,但我想,学习曲线会更多一些。 以前有BGI和GRX,用于DJGPP(有人记得吗??). 我不知道有多少独立于设备的库可以将像素写到屏幕上(GDI和Xlib太依赖于操作系统)。 在PerlPythonTcl的世界里有Tk,它是独立于操作系统的。

就我个人而言,我喜欢用JavaScript来处理低级的图形算法--无需设置! -- 但如果你不拘泥于C++,也许值得一试。 但如果你没有时间教JavaScript,那么也许你的一些学生可以实现一些算法来获得额外的学分。


0
投票

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


-1
投票

https:/easyx.cn)。

该库与Visual Studio的BGI(Borland Graphics Interface,即使用 "graphics.h")API兼容。

© www.soinside.com 2019 - 2024. All rights reserved.