第二,三,四章用C函数画图,跳过瘾为内容太陈旧了,而且是编译器库相关的,所以跳到直接写屏技术,也就是第五章。
这一章比较简单,弄懂代码就好了,直接写屏代码如下(我查资料改动了的):
#include<dos.h>
#include<conio.h>
#define VGA_MODE 0x13
#define TEXT_MODE 0x03
void setmode(unsigned char mode){
union REGS regs;
regs.h.ah=0;
regs.h.al=mode;
int86(0x10,®s,®s);
}
void putpixel(int x,int y,int color){
char far *addr=(char far*)0xa0000000L;
*(addr+y*320+x)=color;
}
int main(){
int i;
setmode(VGA_MODE);
for(i=0;i<50;++i)
putpixel(i,10,3);
for(i=0;i<50;++i)
putpixel(0,i,3);
getch();
return 0;
}
明天继续!
本文介绍了使用C语言实现直接写屏技术的方法,并提供了一个简单的示例程序。该程序通过设置VGA模式,直接操作显存地址来绘制像素点,演示了如何在屏幕上绘制水平和垂直线条。
61万+

被折叠的 条评论
为什么被折叠?



