C语言图形化编程基础入门.docx

  1. 1、本文档共15页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
C语言图形化编程基础入门

二、C的图形模式编程 2.1图形编程基础 VC+EasyX库里提供了图形函数就可以在VC环境下进行图形编程。对图形函数的操作都是在视口(Viewport)上进行。用户可以在屏幕上定义大小不同的视口,若不定义视口大小,它就是整个屏幕。 视口是在图形屏幕状态下的概念,用户可访问的最小单位是一个像素(像素这一术语最初用来指显示器上最小的、单独的发光点单元。然而现在,其含义拓宽为指图形显示器上的最小可访问点)。文本与图形都可以在视口上显示。 ?图形视口的左上角坐标为(0,0)。 例如:分辨率为640*480的视口像素点的定位 显示器在图形模式下工作时,显示的单位是像素点,通过控制各像素点的颜色和灰度等级来形成图形。因此绘图的第一步是进行图形模式的初始化,系统进入绘图模式。 (1)?????? initgraph() 图形初始化函数 用法: ?HWND initgraph( ??? ????????????int width, ?? ?????????????int height, ??? ????????????int flag = NULL ); ? 示例:以下局部代码创建一个尺寸为 640x480 的绘图环境: ? initgraph(640, 480); 例2-1:调用initgraph()设置640*480的图形模式,在屏幕中央显示如下的图形。 参考代码: #includegraphics.h #include conio.h int? main(){ ?????? initgraph(640, 480); ?????? line(200, 240, 440, 240); ?????? line(320, 120, 320, 360); ?????? getch(); ?????? closegraph(); ??? return 0; } ? [学习单步执行] 试着单步执行刚才的程序,由于绘图和多线程等因素的限制,请务必按照以下步骤尝试(熟练了以后就不用了): 1. 将VC取消最大化,并缩小窗口,能看到代码就行。 2. 按一下F10(单步执行),会看到屏幕上出现一个黄色的小箭头,指示将要执行的代码。 3. 当箭头指向initgraph()语句时,按F10,能看到窗口发生了变化。 4. 将新的绘图窗口和VC并排放,相互不要有覆盖。这步很重要,否则绘图内容将会被VC窗口覆盖。 5. F10执行getch后,记得激活绘图窗口,并按任意键,否则程序不会继续执行。 6. closegraph后,直接按F5执行全部剩余程序,结束。 单步执行很重要,可以让你知道程序执行到哪里是什么效果,哪条语句执行出了问题等等。 例2-2:更进一步,打印出分辨率,并在屏幕中央显示如下的图形 参考代码 #include stdio.h #includegraphics.h #include conio.h #define WIDTH?? 150???? /*矩形的宽度*/ #define HEIGHT? 100???? /*矩形的高度*/ int startX,startY;????? /*矩形的左上角坐标*/ int maxX; int maxY; void init();?????? /*图形模式的初始化*/ void showText();? /*显示文本*/ void drawK();??? /*画图形*/ int? main(){ ?????? init(); ?????? showText(); ?????? drawK(); ?????? closegraph(); ??? return 0; } void init(){ ?????? initgraph(640,480); ?????? maxX = getmaxx(); ?????? maxY = getmaxy(); ??? setbkcolor(BLACK);??? /*设置背景色为黑色*/ ??? cleardevice();????????? /*清屏*/ } void showText(){ ??? char str[50]; ?????? sprintf(str,(%d,%d),maxX,maxY);??? /*将要显示的分辩率以字符串形式保存到str*/ ?????? outtextxy(maxX/4,maxY/4,str);??????? /*在指定位置显示字符串str*/ } void drawK(){ ?????? ?????? startX = (maxX-WIDTH)/2; ?????? startY = (maxY-HEIGHT)/2; ?????? setcolor(WHITE); ?????? rectangle(startX,startY,start

文档评论(0)

cuotian + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档