我想学编程,可就是不明白一点,如C语言,编出来的只是程序,而图片怎么弄...
发布网友
发布时间:2024-09-30 19:25
我来回答
共4个回答
热心网友
时间:2024-11-12 20:36
其实,计算机只认识数据,也只有0和1。
不清楚你学了多少C语言,看到过C语言里面有#include <stdio.h>的话,没有想过这句话是不是多余吗?
写一个printf,还要多一句这么没用的语句,这不是多此一举?
其实不然,C语言本身并不包括printf,printf是C语言的库函数。即使没有printf也可以向屏幕上写数据。
在原来的DOS系统中,你写一个
char far * video=(char far *)0xB0000;
video[0]='a';
就会在屏幕的左上角显示出字母‘a’。
其实,现代操作系统是一样的,你应该听说过显存,只要向显存中写入(通过赋值语句)合适的数据,就可以显示任何东西。但是你要考虑,一个Windows有N多的应用程序,每个程序都可以在屏幕上乱来,那不是要天下大乱?
所以,操作系统会占有显存,任何其他程序,包括你的C语言程序,需要通过调用操作系统函数(Windows API)来向屏幕、或者打印机输出。
其实,一个printf是一个比较复杂的函数,他需要先类似vsprintf,doprintf,puts等等,到了puts送给操作系统,操作系统再把stdout定向到console,console再显示,此时操作系统再去找到每个字符的形状,最后画到显存里。要实现现代操作系统的这些功能大约需要3-5万行代码。
相比之下,你画一个图片到屏幕上真的比较简单,因为你自己计算图片的形状,一般是点线面,操作系统什么也不管,最多是一个填充(可以借助硬件加速),那不是相当简单。
慢慢学吧,不要犯 从三到万 的错误就好。
热心网友
时间:2024-11-12 20:38
调用《graphics.h》头文件,用里面的画图函数做的。
windows编程或者MFC也都可以
热心网友
时间:2024-11-12 20:38
对c语言不要要求太高 学C++ java csharp 一切都简单了 c语言是高手玩的
热心网友
时间:2024-11-12 20:42
图片就是 像素的点阵,每个像素都是有红绿蓝组成,图片就是一个一个的像素信息组成的一个大的数组每个单元存贮了红绿蓝的比值