实验一图形程序设计基础

上传人:pu****.1 文档编号:568605010 上传时间:2024-07-25 格式:PPT 页数:18 大小:378.50KB
返回 下载 相关 举报
实验一图形程序设计基础_第1页
第1页 / 共18页
实验一图形程序设计基础_第2页
第2页 / 共18页
实验一图形程序设计基础_第3页
第3页 / 共18页
实验一图形程序设计基础_第4页
第4页 / 共18页
实验一图形程序设计基础_第5页
第5页 / 共18页
点击查看更多>>
资源描述

《实验一图形程序设计基础》由会员分享,可在线阅读,更多相关《实验一图形程序设计基础(18页珍藏版)》请在金锄头文库上搜索。

1、实验一实验一 图形程序设计基础图形程序设计基础一一.概述:概述:本实验是在本实验是在MicrosoftVisualC+6.0平台上,平台上,建立一个建立一个Project,并在该,并在该Project的的View文件内,找到文件内,找到VisualC+6.0自动创建的自动创建的CView类的虚拟成员函数类的虚拟成员函数OnDraw(CDC*pDC),并在该函数内添加相应的绘图,并在该函数内添加相应的绘图程序,绘图程序通过程序,绘图程序通过CDC类指针类指针pDC调用相应的绘图调用相应的绘图土函数,来完成所需图形的绘制。土函数,来完成所需图形的绘制。因此,在此实验中,除了要掌握因此,在此实验中,

2、除了要掌握VisualC+6.0平台上编制图形程序的步骤之外,还应初步了解平台上编制图形程序的步骤之外,还应初步了解MFC的结构,尤其需要了解与绘图有关的相关类的关系和类的结构,尤其需要了解与绘图有关的相关类的关系和类中成员函数的调用方式。中成员函数的调用方式。蒜案吝功俗谅胁闻和湃信攘季嫌驾懒攫迷逢幌蒋撕沈叉晦叹稀凭侧窄裔危实验一图形程序设计基础实验一图形程序设计基础MFC结构如下:结构如下:定做说肺乏侈寺趟害恨摘怕槐靡耶奢擂凑要拨碌存增蠕滞禹联肠泡恃袜丧实验一图形程序设计基础实验一图形程序设计基础二实验的主要目的:二实验的主要目的:1、让学生掌握利用、让学生掌握利用MicrosoftVisu

3、alC+6.0平台,进行图平台,进行图形程序设计的基本方法与步骤;形程序设计的基本方法与步骤;2、训练学生利用计算机分析和解决实际问题的能力;、训练学生利用计算机分析和解决实际问题的能力;3、锻炼学生撰写科技实验报告的能力。、锻炼学生撰写科技实验报告的能力。潦氦函钳俺蜂阻聊畦颇喉附皮岸劣缄迁继首马渝卸幽冲芳铸锤乌国碌德吞实验一图形程序设计基础实验一图形程序设计基础三实验步骤:三实验步骤:1.建立工程:建立工程:打开打开VisualC+;选择选择FileNewProjectsMFCAppWizardexe,在,在ProjectName内内输入工程名(如输入工程名(如FtistP),并在),并在L

4、ocation选择程序文件存储路径,最后点击选择程序文件存储路径,最后点击OK。仪钓命听荤迷褒啦旨杯橇世笺广锤艘卓疚喊沟屈嗣味歉呕癸劫右碗汝廷谣实验一图形程序设计基础实验一图形程序设计基础2.选择欲创建的文档类型:选择欲创建的文档类型:在在Step1对话框中,选择对话框中,选择SingleDocument或或MultipleDocuments或或Dialogbased中任意一项均可,但后续操作不一样。(如选中任意一项均可,但后续操作不一样。(如选MultipleDocuments)点击)点击Finish(若还有其他需要则选(若还有其他需要则选Next););阐七慎针膘欺示千待额嘴概骂吞铺弥窜茧

5、锁熔剿弦惫疑敢绥绚驳伟胳吠关实验一图形程序设计基础实验一图形程序设计基础在如下在如下NewProjectInformation框内下点击框内下点击OK。烬膜半勘驹迷侧酱纸氦襄苔譬毖晚硫赋乏皖寥敌考菩定玄洋赋匈禾瞒误猎实验一图形程序设计基础实验一图形程序设计基础3.编写图形程序:编写图形程序:蹿简没颅语曰缴魔争随终剩抠匣拘使诧幅芳扔你酌灰猴制组枫窃旨敏貌文实验一图形程序设计基础实验一图形程序设计基础在如上图所示的此新建的在如上图所示的此新建的Project内,内,Workspace视窗下视窗下选择选择FileView,然后点击,然后点击FirstPFiles展开它,在展开它,在SourceFil

6、es中找到中找到FirstPView.cpp文件,在该文件中找到文件,在该文件中找到CView类下的列函数:类下的列函数:voidCFirstPView:OnDraw(CDC*pDC)CFirstPDoc*pDoc=GetDocument();ASSERT_VALID(pDoc);/TODO:adddrawcodefornativedatahere(添加代码处添加代码处)在该函数内添加相应的绘图程序代码,图形形状不作统一要求,可自由在该函数内添加相应的绘图程序代码,图形形状不作统一要求,可自由设计,代码自己编写,也可用教材上设计,代码自己编写,也可用教材上P20实例来练习。实例来练习。遁秆褐榆

7、桨腹坪婉禁近酿沉痕尊袖怖遮皋兼桥穆垄镁邹欺叛译铱企痕驱熊实验一图形程序设计基础实验一图形程序设计基础教材上教材上P20实例代码如下:实例代码如下:/使用缺省画笔画了一条直线,画笔的属性是实线型、使用缺省画笔画了一条直线,画笔的属性是实线型、1个像素宽、黑色个像素宽、黑色pDC-MoveTo(100,100);pDC-LineTo(200,200);CPen*pOldPen;/申请一个画笔指针,用于保存当前设备环境下的画笔申请一个画笔指针,用于保存当前设备环境下的画笔CPendashPen;/以下创建画笔并绘制直线以下创建画笔并绘制直线/创建一个画笔,其属性是虚线型、创建一个画笔,其属性是虚线型

8、、1个像素宽、红色个像素宽、红色dashPen.CreatePen(PS_DASH,1,RGB(255,0,0);/PS_SOLID:Penissolid;/PS_DASH:Penisdashed;PS_DOT:Penisdotted;PS_DASHDOT:Penhasalternatingdashesanddots/PS_DASHDOTDOT;PS_INSIDEFRAME:Penissolid;PS_NULL:PenisinvisiblepOldPen=pDC-SelectObject(&dashPen);/选择新画笔,用选择新画笔,用pOldPen保留原画保留原画笔笔pDC-LineTo(

9、300,100);/使用新画笔绘制直线使用新画笔绘制直线pDC-SelectObject(pOldPen);/绘制完毕一定要恢复原画笔绘制完毕一定要恢复原画笔pDC-LineTo(400,200);/再次使用原画笔再绘制直线再次使用原画笔再绘制直线呆见波瀑岿怜喀淫苫匠队炉汪成铭弦棚再埃赏铲调戒招熬准售轮蜡赴艾瓷实验一图形程序设计基础实验一图形程序设计基础4编译调试程序,直到通过运行后得到需要的结论。编译调试程序,直到通过运行后得到需要的结论。调扔蹈折神刀涝校兆腊窒姻苛佛型铭雁仙称捐柯熟枚恶讲溉铁罗便峨博邪实验一图形程序设计基础实验一图形程序设计基础注:注:若在:若在:voidCFirstPVi

10、ew:OnDraw(CDC*pDC)CFirstPDoc*pDoc=GetDocument();ASSERT_VALID(pDoc);/TODO:adddrawcodefornativedatahere。函数前添加下列函数,即可在相应线段中插入字符函数前添加下列函数,即可在相应线段中插入字符“0”VOIDCALLBACKDrawZero(intX,inty,LPARAMlpData)CDC*pDC;pDC=(CDC*)lpData;if(X%20=0)pDC-TextOut(X,y,_T(0);蔼盘韧趣唆砖役硼绰盂胃羽婿划槽汤帐蔷虑殷毛到绑甄聂曼楞搁羔殊诽枝实验一图形程序设计基础实验一图形程序

11、设计基础再在书上代码:再在书上代码:pDC-MoveTo(100,100);pDC-LineTo(200,200);下添加下列语句:下添加下列语句::LineDDA(100,100,200,200,(LINEDDAPROC)DrawZero,(long)pDC); /画“0”函数即可在直线段(即可在直线段(100,100)到()到(200,200)上每隔)上每隔20个段位长度个段位长度处输出一个处输出一个“0”符号。符号。其运行结果如下图所示:其运行结果如下图所示:愤肚贝句谩崔醋养忠刹跺苑疙搓伟摔胆戳驮碳溺们侵受忆娃虚蕴析贩簇掷实验一图形程序设计基础实验一图形程序设计基础5.分析总结,并提交实

12、验报告。(略)分析总结,并提交实验报告。(略)注:各函数说明如下。注:各函数说明如下。1CDC:MoveToCPointMoveTo(intx,inty);ReturnValueThex-andy-coordinatesofthepreviouspositionasaCPointobject.ParametersxSpecifiesthelogicalx-coordinateofthenewposition.ySpecifiesthelogicaly-coordinateofthenewposition.RemarksMovesthecurrentpositiontothepointspeci

13、fiedbyxandy(orbypoint).坎棱闻赵皋馅效蜡防嫩亥贵弓磕怪碳判辆烟雏惯弗娥腰弧蠕浅钥找螺罢驾实验一图形程序设计基础实验一图形程序设计基础2CDC:LineToBOOLLineTo(intx,inty);ReturnValueNonzeroifthelineisdrawn;otherwise0.ParametersxSpecifiesthelogicalx-coordinateoftheendpointfortheline.ySpecifiesthelogicaly-coordinateoftheendpointfortheline.RemarksDrawsalinefromt

14、hecurrentpositionupto,butnotincluding,thepointspecifiedbyxandy(orpoint).Thelineisdrawnwiththeselectedpen.Thecurrentpositionissettox,yortopoint.治簿色戒河控殉唐记撤铸塘泉窘笆肘菊赤涎讲唆陇薪面笑劫搂它箱逃停添实验一图形程序设计基础实验一图形程序设计基础3CPen:CreatePenBOOLCreatePen(intnPenStyle,intnWidth,COLORREFcrColor);ReturnValueNonzero,orthehandleofal

15、ogicalpen,ifsuccessful;otherwise0.ParametersnPenStyleSpecifiesthestyleforthepen.Foralistofpossiblevalues,seethenPenStyleparameterintheCPenconstructor.nWidthSpecifiesthewidthofthepen.ifthisvalueis0,thewidthindeviceunitsisalways1pixel,regardlessofthemappingmode.crColorContainsanRGBcolorforthepen.Remar

16、ksTheCreatePeninitializesapenwiththespecifiedstyle,width,andcolor.Thepencanbesubsequentlyselectedasthecurrentpenforanydevicecontext.轻够长入馋僻倪偶溶鸣陈够椰驭想赁哆颅渤砷猎恼嫩陋啡元砰潭满傈翟坠实验一图形程序设计基础实验一图形程序设计基础4CDC:SelectObjectCPen*SelectObject(CPen*pPen);ReturnValueApointertotheobjectbeingreplaced.Thisisapointertoanobject

17、ofoneoftheclassesderivedfromCGdiObject.ThereturnvalueisNULLifthereisanerror.ParameterspPenApointertoaCPenobjecttobeselected.RemarksSelectsanobjectintothedevicecontext.5、TextOut(x,y,_T(“0”);在点(在点(x,y)处输出符号)处输出符号“0”。脉羽钙溉揍迷燕胃孰夷恿辞侄双线甚聘弛腾与废挫喊筷矾剂粟揩衔育太煽实验一图形程序设计基础实验一图形程序设计基础迟渍漂钮渊放咕惦氧咱炯跟引卸迢波谊踢缝袱晒霖馈姨姜殿贰朱浚拓浇件实验一图形程序设计基础实验一图形程序设计基础缉模孪溉新是剐兽短眨坤改哆琼就辐席澄曹睹目烟诚父阂齿束曰噎异耘猜实验一图形程序设计基础实验一图形程序设计基础

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 医学/心理学 > 基础医学

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号