高手进:如何在WINDOWS下用C语言编写图形函数
在DOS下尝试成功了,自己写了一套函数,可以画点,线,四边,圆,但是,在WINDOWS我不知道怎么做。叫我用GDI,或者DIRECTX嘛,我又觉得太复杂。还要学他们的绘画...
在DOS下尝试成功了,自己写了一套函数,可以画点,线,四边,圆,但是,在WINDOWS我不知道怎么做。叫我用GDI,或者DIRECTX嘛,我又觉得太复杂。还要学他们的绘画方法。总之,怎么把DOS的方法搬到WIN上去呢?
还有,OPENGL是怎么做到在WIN上实现绘图的。
如果能进入图形显示方式的话,还有的说,但是就不知道怎么进入。我听说DOS和WINDOWS的实现方法是不同的。
[这个问题也可以改成“不用WIN32 API,MFC,VCL,OPENGL,DEIRCT 3D,GDI等已有的类或者函数库的话怎么做图?具体用代码实现”]
头脑发热?什么叫不是XXX弄出来的,最近我发现,一聊到WINDOWS就有一帮人在唱反调,他们不单不提供帮助,还一个劲的泼冷水,就好象CSDN那些人一样,一见别人说要做操作系统就叫别人打消这个念头,还说一大堆歪理。算了,我以后不在这里问问题了,你们就继续使用你们的DIRECT3D,MFC,VCL,WIN32 API好了。反正我恨死美国人,亲美的我一律BS
我这个人喜欢自力更生,呵呵,同时也是为了提高自己的水平
我为什么要去学WINDOWS的API,,OPENGL不是也没有WINDOWS的API吗?还不是照样可以画图?什么叫没会走就会跑。那个和这个没有关系。 展开
还有,OPENGL是怎么做到在WIN上实现绘图的。
如果能进入图形显示方式的话,还有的说,但是就不知道怎么进入。我听说DOS和WINDOWS的实现方法是不同的。
[这个问题也可以改成“不用WIN32 API,MFC,VCL,OPENGL,DEIRCT 3D,GDI等已有的类或者函数库的话怎么做图?具体用代码实现”]
头脑发热?什么叫不是XXX弄出来的,最近我发现,一聊到WINDOWS就有一帮人在唱反调,他们不单不提供帮助,还一个劲的泼冷水,就好象CSDN那些人一样,一见别人说要做操作系统就叫别人打消这个念头,还说一大堆歪理。算了,我以后不在这里问问题了,你们就继续使用你们的DIRECT3D,MFC,VCL,WIN32 API好了。反正我恨死美国人,亲美的我一律BS
我这个人喜欢自力更生,呵呵,同时也是为了提高自己的水平
我为什么要去学WINDOWS的API,,OPENGL不是也没有WINDOWS的API吗?还不是照样可以画图?什么叫没会走就会跑。那个和这个没有关系。 展开
6个回答
展开全部
刚刚说的太过火了..删除重来
楼主要做的事情很多. 肯定是绕不开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这种结构复杂的电脑设备上.. 不是说楼主能力不行. 而是你如果要做这东西. 你得具备比你这篇帖子里面表露出来的更多的知识..
楼主要做的事情很多. 肯定是绕不开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这种结构复杂的电脑设备上.. 不是说楼主能力不行. 而是你如果要做这东西. 你得具备比你这篇帖子里面表露出来的更多的知识..
展开全部
1、图形编程都是用的纯C函数库, 比如Windows的GDI,还有DirectX,以及开源的OpenGL。这些都是纯C库,也就是说会C语言就能开发图形界面和游戏了。C++当然也可以调用这些函数库,但不是必要的。
2、学GDI的话最好的书是《Windows程序设计.chm》这个文档,这东西网上到处都有。
学OpenGL的话,有个网站Nehe有完整的教学。人翻译了这个教程的中文版,google “Nehe opengl” 就能找到了。
2、学GDI的话最好的书是《Windows程序设计.chm》这个文档,这东西网上到处都有。
学OpenGL的话,有个网站Nehe有完整的教学。人翻译了这个教程的中文版,google “Nehe opengl” 就能找到了。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
简单的回答你的修改的问题:就是不可能实现,不过如果你牛到某种程度可以自己写驱动更或者自己写操作系统,那就可以了,当然也有别人写好了的库你可以调用,但也只是封装了API,实现类似DOS下画图的编程方式完成windows下的图形编程,可以参考西安某高校的这个网址:http://mti.xidian.edu.cn/wwwroot/cplusplus/下的内容。
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
不用WIN32 API,MFC,VCL,OPENGL,DEIRCT 3D,GDI等已有的类或者函数库的话怎么做图?
我只知道画图得在窗口里画。你要是连win32 api都不会的话,连windows窗口都编不出来,何谈画图?
还不会走就想飞了?
建议你还是好好看看《Windows程序设计》,一步一步来吧。
从dos到windows的转变是很大的,照搬是不可能的,不要想着一步登天。
OPENGL我没用过,但我知道它只是API。
api就是应用程序编程接口。无论是Windows的api还是OpenGL,都是别人写好的函数,你会用就行了。
至于你要自己独立写api,我就不知道了,我想这里也不会有nb到你这种程度的人。
我只知道画图得在窗口里画。你要是连win32 api都不会的话,连windows窗口都编不出来,何谈画图?
还不会走就想飞了?
建议你还是好好看看《Windows程序设计》,一步一步来吧。
从dos到windows的转变是很大的,照搬是不可能的,不要想着一步登天。
OPENGL我没用过,但我知道它只是API。
api就是应用程序编程接口。无论是Windows的api还是OpenGL,都是别人写好的函数,你会用就行了。
至于你要自己独立写api,我就不知道了,我想这里也不会有nb到你这种程度的人。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
可以引用C语言自带的库函数
初始化一下显示程序
就可以使用画图函数了
包括直线,圆,椭圆,矩形等等
很方便,还可以选背景和画图的颜色
初始化一下显示程序
就可以使用画图函数了
包括直线,圆,椭圆,矩形等等
很方便,还可以选背景和画图的颜色
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询