高手进:如何在WINDOWS下用C语言编写图形函数

2025-03-03 09:16:42
推荐回答(5个)
回答1:

刚刚说的太过火了..删除重来

楼主要做的事情很多. 肯定是绕不开windows api的
第一. wdm 想办法操作图形设备. OPENGL 是一条图形标准, 标准的意思就是有个纲领, 大家尽量照着做. 当然, 在windows下有个实现, opengl sdk for windows..

第二. 大部分的显卡支持opengl 1 2, 不排除今后会有支持3的.支持的意思, 也就是显卡芯片厂商针对opengl的纲领固化了一些算法, 这些算法是针对opengl sdk的. 只有opengl 的sdk能直接调用其中的固化函数.. 传说中的图形加速就是这个了. 因为这部分运算由gpu分担了. 降低cpu的负荷.

第三. 楼主可以像显卡厂商索要驱动接口. 直接调用驱动中的接口实现你要的这套图形库.

第四. 操作系统一般都被强制要求实现一个叫framebuffer的东西. 类似一个基本显示单元. 不带图形加速的. 楼主可以翻阅这方面的资料. 如果找不到资料. 楼主去翻阅linux的关于framebuffer部分

楼上说的很对. dos到windows的变化很大, 也不能算是操作系统的变化, 而是整个计算机发展的变化, 包括cpu== 一些列设备, 在编程方面最显著的就是实地址模式与保护地址模式的转变.来控制你不会访问到你不应该访问的地方, 再就是操作系统变得更有层次. 很多硬件是不允许你直接访问的. 你要访问....行...利用操作系统漏洞. 拿到更高权限.

楼主..一套sdk不是某个人头脑一热就能弄出来的...需要方方面面的知识. 尤其是在pc这种结构复杂的电脑设备上.. 不是说楼主能力不行. 而是你如果要做这东西. 你得具备比你这篇帖子里面表露出来的更多的知识..

回答2:

1、图形编程都是用的纯C函数库, 比如Windows的GDI,还有DirectX,以及开源的OpenGL。这些都是纯C库,也就是说会C语言就能开发图形界面和游戏了。C++当然也可以调用这些函数库,但不是必要的。
2、学GDI的话最好的书是《Windows程序设计.chm》这个文档,这东西网上到处都有。
学OpenGL的话,有个网站Nehe有完整的教学。人翻译了这个教程的中文版,google “Nehe opengl” 就能找到了。

回答3:

简单的回答你的修改的问题:就是不可能实现,不过如果你牛到某种程度可以自己写驱动更或者自己写操作系统,那就可以了,当然也有别人写好了的库你可以调用,但也只是封装了API,实现类似DOS下画图的编程方式完成windows下的图形编程,可以参考西安某高校的这个网址:http://mti.xidian.edu.cn/wwwroot/cplusplus/下的内容。

回答4:

不用WIN32 API,MFC,VCL,OPENGL,DEIRCT 3D,GDI等已有的类或者函数库的话怎么做图?

我只知道画图得在窗口里画。你要是连win32 api都不会的话,连windows窗口都编不出来,何谈画图?

还不会走就想飞了?

建议你还是好好看看《Windows程序设计》,一步一步来吧。

从dos到windows的转变是很大的,照搬是不可能的,不要想着一步登天。

OPENGL我没用过,但我知道它只是API。

api就是应用程序编程接口。无论是Windows的api还是OpenGL,都是别人写好的函数,你会用就行了。

至于你要自己独立写api,我就不知道了,我想这里也不会有nb到你这种程度的人。

回答5:

可以引用C语言自带的库函数
初始化一下显示程序
就可以使用画图函数了
包括直线,圆,椭圆,矩形等等
很方便,还可以选背景和画图的颜色