📄 使用说明.txt
字号:
256色图形系统 version 1.5 for TC (MS-DOS mode)
开发人: 吴进
地址 : 湖南省常德师范学院(东院)235# (邮编:415000)
E-mail: wujin001@sina.com
主页 : http://tc256.at.china.com
OICQ : 17157193
╭───────────────────────────╮
︱使用该系统开发必备工具软件:xnview(图形处理工具) ︱
︱方法:选好BMP图片,用 图像——转化为彩色——256色(抖 ︱
︱动),转化后存为BMP格式即可用putbmp,put_bmp调用了。 ︱
︱另外,xnview也是一款顶好用的看图工具。 ︱
︱ ︱
︱生成dat.exe说明: ︱
︱将256色*.bmp图像拖入程序则生成dat.exe打开即生成*.dat图︱
︱像,可用image.h、do_iamge.h中函数直接调用。 ︱
︱显示dat.exe说明: ︱
︱将*.dat图像拖入显示dat.exe即可显示dat中的内容。 ︱
╰───────────────────────────╯
㈠ 256basic.h:
说明:256色模式工作基本函数头文件,使用图形系统其他头文件时必须包含该文件,且必须写在所有文件包含的最前面!切记!
⑴. void initgraph()
说明:屏幕初始化。初始化屏幕为640*480,256色模式(现支持4种显卡芯片)。
支持的显卡芯片型号分别为: TNT2系列
Trident系列
i81X系列
SIS系列
⑵. closegraph()
说明:回复屏幕到文本模式。
⑶. void setdac();
说明:设置色表,该色表是256色抖动矩阵色表dacmap。
⑷. void cls(unsigned char k);
说明:清屏,k为清屏色。
⑸. putpixel(int x,int y,unsigned char color)
说明:256模式下写点函数。x,y为屏幕坐标(以左上角为0,0)。
color为点的颜色。
⑹. unsigned char getpixel(int x,int y)
说明:256模式下读取屏幕点(x,y)像素值函数。
⑺. selectpage(char page)
说明:由于无法直接寻址所有物理显存,必须调用VESA BIOS换页功能。page为所选页面。
㈡ image.h:
说明:图像的块存取与获得图像大小。
⑴. void fgetimage(char *s,int x0,int y0,int x1,int y1)
说明:将屏幕上点(x0,y0)与点(x1,y1)区域拷入*s缓冲文件;
⑵. void fputimage(char *s,int x,int y)
说明:将*s缓冲文件内的图像拷贝到以(x,y)为左上角坐标的屏幕区域。
⑶. void void imagesize(char *s,int *x,int *y)
说明:获得*s缓冲文件的长宽。
㈢ putbmp.h:
说明:256bmp位图的输出与获得位图大小。
⑴. void putbmp(char *s,int x,int y)
说明:将*s所指的位图输出到以(x,y)为左上角坐标的屏幕区域。
⑵. void bmpsize(char *s,int *x,int *y)
说明:获得*s所指bmp位图的长宽。
㈣ put_bmp.h
⑴. void put_bmp(char *s,int x,int y,unsigned char ym)
说明:输出256bmp位图,将ym(掩码)所指的色在输出中屏蔽掉,实现透明背景图像。
㈤ puthz256.h
说明:显示彩色汉字。必须使"hzk12"(附带)位于TC目录下,也就是编译程序运行时同级目录必须有"hzk12"!"hzk12"为12*12点阵汉字库。
⑴. void puthz256(char *s,int x,int y,int color)
说明:将*s所指的汉字以color色输出到以(x,y)为左上角坐标的屏幕区,所用英文必须用全角字符!
㈥ puts256.h
说明:显示彩色ASCII字符串。
⑴. void puts256(char *str,int x,int y,unsigned char color,char size)
说明:将*s所指的字符串以color色输出到以(x,y)为左上角坐标的屏幕区域,size为使用的字符集,对应关系如下:
size ROM(字符集)
0 8*16
1 8*8
2 8*14
㈦ go_inout.h
说明:图象的淡入与淡出。
⑴. void go_inout(int color,long timedelay,char w)
说明:图象的淡入与淡出,color为目标颜色,w=0为淡入,w=1为淡出,timedelay为变化快慢(单位:毫秒)。
㈧ do_image.h
说明:图像特效函数库。
⑴. void allimage(char *dat,int x,int y)
说明:调用长与宽比屏幕大图像函数,dat为文件名,(x,y)为输出区域在文件的相对位置(用于滚屏)。
⑵. void make_fill_dat(char *dat,int iw,int il,char *buffer)
说明:产生平铺图像文件,dat为原文件,buffer为产生的平铺图像文件,大小为wi*il。
⑶. void make_part_dat(char *dat,int fx,int fy,register int fw,register int fl,char *buffer)
说明:截取大图像区域,dat为原文件,(fx,fy)为文件相对位置,fw、fl截取区域长宽,buffer为截取文件。
㈨ drax.h
说明:绘图函数库。
⑴. void bar(int x,int y,register int wl,register int ll,int color)
说明:用color色填充矩形区域,以(x,y)为起点填充一长宽为(wl,ll)的矩形区域。
开发简介:
我学习语言是从C语言学起的,而最初用的就是TC编一些简单的程序,可是,TC的16色图形模式在用惯了Windows界面的我看来,实在是太……单调了。TC图形界面的限制,对所有初学TC的人来说,积极性是一种打消。然而TC却的确是一种练习编程、研究算法的好工具,许多的程序构架,均可以用TC实现。
因此我查阅了各种资料,耗时两个月(当了一个暑假的“熊猫”啊……),开发出了这个图形系统的1.0版本,当时这个系统还很不成熟。此后我不断完善这个系统,经过N次改进,W次优化,升级到1.5版本,现在总算可以拿出来见人了,可是代码还是有很多不足,希望各路大虾指教。
我也是一个GAME FAN,此系统的许多函数,正是为游戏特效设计的,以后的版本将在这方面进一步完善。学习TC的你,是否和我一样在为自己的GAME梦而奋斗呢?
此代码是免费的,欢迎任意拷贝、研究。如果您有好的建议或改动,请E-Mail我一声。我这儿还有用该系统制作的游戏与游戏原代码,E-Mail免费奉送。要获得更多资源,请访问我的主页:http://tc256.at.china.com。
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -