gpt4 book ai didi

c - 如何用纯c创建图形 Canvas 来显示图形而无需任何库和平台独立

转载 作者:行者123 更新时间:2023-11-30 16:23:42 25 4
gpt4 key购买 nike

我认为在没有任何其他库的情况下创建图形库一定是可能的。

只是用基本数学来绘制圆形、三角形和矩形。如果是这样,如何制作“可绘制区域”的重点在哪里?

是否可以用纯 C 语言绘制到屏幕上或者是否需要汇编?

最佳答案

图形编程本质上是依赖于平台的。为了便于讨论,我们假设只有两种操作系统:linux 和 windows。您可以在两者上使用特定于平台的功能来创建窗口并绘制某些内容。对于您的应用程序来说,在这种情况下“平台独立”意味着检测您正在运行的操作系统(例如,使用编译时定义的预处理器)并基于此使用不同的系统调用。然而,这变得非常困惑,非常快。

当您谈论 3D(或硬件加速 2D)时,情况会变得更糟,因为不同的显卡的行为又不同。因此,即使只有两个显卡(加上两个操作系统),对于相同的基本操作(例如,在窗口内画一个圆),您也已经处于四种不同的情况下。

你能做到吗?

从技术上来说,是的。但图形库的存在正是因为大多数人不愿意。

如果您不想严重依赖第三方库,我个人推荐的是使用 OpenGL。是的,它是一个库,但它预装在大多数系统上。

如果您确实想创建自己的独立于平台的图形库,我建议首先熟悉使用现有的图形库,只是为了了解制作类似的东西所涉及的内容。

关于c - 如何用纯c创建图形 Canvas 来显示图形而无需任何库和平台独立,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53919484/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com