资源描述:
《C语言图形化编程基础入门》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、二、C的图形模式编程2.1图形编程基础VC+EasyX库里提供了图形函数就可以在VC环境下进行图形编程。对图形函数的操作都是在视口(Viewport)上进行。用户可以在屏幕上定义大小不同的视口,若不定义视口大小,它就是整个屏幕。视口是在图形屏幕状态下的概念,用八可访问的最小单位是一个像素(像素这一•术语最初用来指显示器上最小的、单独的发光点单元。然而现在,其含义拓宽为指图形显示器上的最小可访问点)。文本与图形都可以在视口上显示。图形视口的左上角坐标为(0,0)。例如:分辨率为640*480的视口像
2、素点的定位639I23(O')0640-*4«0)的图形视口479显示器在图形模式下工作时,显示的单位是像索点,通过控制各像素点的颜色和灰度等级來形成图形。因此绘图的第一步是进行图形模式的初始化,系统进入绘图模式。(1)initgraph()图形初始化函数用法:HWNDinitgraph(intwidth,intheight,intflag=NULL);示例:以下局部代码创建一个尺寸为640x480的绘图环境:initgraph(640,480);例2-1:调用initgraph()设置640*4
3、80的图形模式,在屏幕中央显示如下的图形。参考代码:#include#includeintmain(){initgraph(640,480);line(200,240,440,240);line(320,120,320,360);getch();closegraph();return0;[学习单步执行]试着单步执行刚才的程序,山于绘图和多线程等因素的限制,请务必按照以下步骤尝试(熟练了以后就不用了):1.将VC取消最大化,并缩小窗口,能看到代码就行。2.按
4、一下F10(单步执行),会看到屏幕上出现一个黄色的小箭头,指示将耍执行的代码。3.当箭头指向initgraph()®句时,按F10,能看到窗口发生了变化。4.将新的绘图窗口和VC并排放,相互不要有覆盖。这步很重要,否则绘图内容将会被VC窗口覆盖。5.F10执行getch后,记得激活绘图窗口,并按任意键,否则程序不会继续执行。6.closcgraph后,直接按F5执行全部剩余程序,结束。单步执行很重要,可以让你知道程序执行到哪里是什么效果,哪条语句执行出了问题等等。例2・2:更进一步,打印出分辨率,
5、并在屏幕中央显示如下的图形(639,479)参考代码#include#include#include#defineWIDTH150/*矩形的宽度*/#defineHEIGHT100/*矩形的高度*/intstartX,startY;/*矩形的左上角坐标*/intmaxX;intmaxY;voidinit();/*图形模式的初始化*/voidshowText();/*显示文本*/voiddrawK();/*画图形*/intmain(){in
6、it();showText();drawK();closegraph();return0;}voidinit(){initgraph(640,480);maxX=getmaxx();maxY=gctmaxy();setbkcolor(BLACK);/*设置背景色为黑色*/cleardevice();/*清屏*/}voidshowText(){charstr[5O];sprintf(str,,,(%d,%d)u,maxX,maxY);/*将要显示的分辩率以字符串形式保存至!Istr*/outtext
7、xy(maxX/4,maxY/4,str);/*在指定位置显示字符串str*/}voiddrawK(){startX=(maxX-WIDTH)/2;startY=(maxY-HEIGHT)/2;setcolor(WHITE);rectangle(startX,startY,startX+WIDTH,startY+HEIGHT);setcolor(YELLOW);line(startX,startY,startX+WIDTH^startY+HEIGHT);line(startX+W!DTH,star
8、tY,startX,startY+HEIGHT);setcolor(RED);circle(maxX/2,maxY/2,30);getch();〃會停,任意健继续例2・3:用若干个小矩形块画一个围墙的效果,如下图:参考代码:#include#includeintmaxX;intmaxY;voidinit(){initgraph(640,480);maxX=getmaxx()+l;maxY=getmaxy()+l;voiddrawWall(v