资源描述:
《turbo c图形编程》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、TurboC图形编程09级兴趣小组讲座2021/10/11一、C图形编程图形界面生动、直观C语言功能强大(可直接写屏),支持多种显卡的各种显示模式,提供画点、线、曲线、填充等函数。二、用C还是C++?各有优势在工控、嵌入式设备、POS系统等常用C在PC上现在一般都用C++2021/10/122021/10/132021/10/14三、显示器及基本性能现在用VGA及以上的显示器分辨率达1024X768以上(高清)颜色达16位以上(24位即为真彩)四、TurboC支持的图形模式适配器图形模式模式值颜色数分辨率页数几乎兼容各种适配器从CGA到VGA主要有0、1、2
2、2、16、256从320X200到1024X7681、2、42021/10/15五、显示模式控制在进行图形编程前需要先设置图形模式;如果不设置,则图形函数都不能使用。图形函数的原型在graphics.h文件中。各类图形适配器都有符号常数及数值;使用中为了方便一般采用系统根据硬件测试结果自动装入相应的适配器,即使用的符号常数是:DETECT,数值为0。六、颜色设置设置颜色的函数有两个:setbkcolor(intcolor)设置背景色,默认0(黑色)setcolor(intcolor)设置前景色(画笔),默认15(白色)此外,可以用调色板函数(setpalet
3、te)自己调色。2021/10/16设置颜色示例(myg2.c)#includemain(){intgraphdriver=DETECT,graphmode;initgraph(&graphdriver,&graphmode,"");cleardevice();lineto(320,240);getch();setbkcolor(15);setcolor(9);lineto(640,0);getch();closegraph();}2021/10/17七、图形模式下的屏幕坐标左上角为(0,0);X轴从左到右(0~最大水平分辨率);Y轴
4、从上到下(0~最大垂直分辨率)。八、笛卡尔坐标与屏幕坐标的转换笛卡尔坐标系的原点(0,0)是中心位置,所以绘图时常常将笛卡尔坐标转换为屏幕坐标,转换公式:屏幕(X,Y)=(X笛卡尔+maxxres/2,maxyres/2-Y笛卡尔)2021/10/18坐标变换示例(myg0.c)#definemaxxres640#definemaxyres480#include#includevoidmain(){inti,x,y,dikax=0,dikay=0;intgraphdriver=DETECT,graphmode;ini
5、tgraph(&graphdriver,&graphmode,"");cleardevice();x=dikax+maxxres/2;y=dikay+maxyres/2;circle(x,y,50);getch();closegraph();}2021/10/19九、TurboC环境配置C源程序编译后链接时需要图形库文件graphics.lib;有些安装版本没有将该库文件连接入模式库中。如果没有,则需要自己用TLIB命令进行连接,进入TurboC安装目录;执行:tlibcs+libgraphics.libtlibcc+libgraphics.libtli
6、bcm+libgraphics.libtlibch+libgraphics.libtlibcl+libgraphics.lib2021/10/110十、程序框架了解相关的概念后,需要掌握C图形编程的框架结构(这个框架可以作为模版)。#includemain(){intgraphdriver=DETECT,graphmode;initgraph(&graphdriver,&graphmode,"");cleardevice();setactivepage(0);/*可选*/setvisualpage(0);/*可选*//*这里添加
7、自己的代码以实现特定的功能*/closegraph();}2021/10/111#include图形函数的头文件intgraphdriver=DETECT,graphmode;定义图形设备、模式initgraph(&graphdriver,&graphmode,“”);初始化设备格式:voidinitgraph(intfar*driver,intfar*mode,charfar*path);cleardevice();清屏setactivepage(0);设置激活哪个页setvisualpage(0);设置哪个页可视closegrap
8、h();关闭图形模式,返回文本方式2021/10/1