graphics.h的替代品
Alternatives to graphics.h
大学这学期我们有一门计算机图形学入门课程。没有关于如何做实验练习的推荐方法。大多数学生都使用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兼容。
- C++中原子的替代品<variant>
- C++sscanf_s的替代品
- getline的替代品
- 什么是 std::function::argument_type 的替代品?
- 为什么联机C++ IDE 不支持"graphics.h"头文件?
- 有DirectShow的替代品吗?
- 无法打开包含文件'Graphics.hpp'没有这样的文件或目录,Visual Studio的其他包含不起作用
- 智能指针作为 QObject::d eleteLater() 的替代品
- dev Wx Dev C++ vs Graphics.h?
- 我的项目中某些仅标头文件不能包含使用 CMake 和 Vscode 的"SFML/Graphics.hpp"
- GDI+-无法对Gdiplus::Graphics(C++)执行任何操作
- 在Visual Code 2019中使用graphics.h绘制线条时,如何修复错误E0167和C2019?
- graphics.h for microsoft visual studio community 2017
- C++中 mktime 的替代品
- 对于C++,是否有任何现代的 std::strchr() 替代品?
- shared_future是<void>condition_variable的合法替代品吗?
- circle.exe 在代码块中使用 graphics.h 时停止工作
- 编译器找不到 SFML/Graphics.hpp,但它已添加到 includeirs 中
- 如果我尝试将 graphics.h 用于 c/c++ 时显示错误,我该怎么办?
- graphics.h的替代品