计算机图形学实验报告—图形与文本
Windows编程实验报告
题 目:专 业:班 级:学 号:姓 名:指导老师:
图形与文本 2014年10月19日
一、实验目的 熟悉MFC技术中图形和文本的使用。 二、实验环境 Windows7操作系统,VC++6.0 三、实验内容 【程序1:】 编写一个单文档的应用程序,在视图窗口中显示一行文本,要求文本颜色为红色,背景色为黄色。 关键代码:
void CSy2_1View::OnDraw(CDC* pDC) { CSy2_1Doc* pDoc = GetDocument(); ASSERT_VALID(pDoc); // TODO: add draw code for native data here CString outstr = \显示一行文本\ pDC->SetBkColor(RGB(255,255,0)); pDC->SetTextColor(RGB(255,0,0)); pDC->TextOut(100,100,outstr); }
结果截图:
【程序2:】 编写一个单文档的应用程序,在客户区使用不同的画笔和画刷绘制点、折线、曲线、圆角矩形、弧、扇形和多边形等几何图形。
关键代码:
void CSy2_2View::OnDraw(CDC* pDC) { CSy2_2Doc* pDoc = GetDocument();
1
ASSERT_VALID(pDoc);
// TODO: add draw code for native data here CPen *PenOld,PenNew;
CBrush *BrushOld,BrushNew;
COLORREF rgbColor[] = {RGB(255,0,0),RGB(0,255,0),RGB(0,0,255),RGB(255,255,0)}; //画一个矩形
PenNew.CreatePen(PS_SOLID,4,rgbColor[1]); BrushNew.CreateSolidBrush(rgbColor[3]); PenOld = pDC->SelectObject(&PenNew); BrushOld = pDC->SelectObject(&BrushNew); pDC->Rectangle(20,200,200,300); PenNew.DeleteObject(); BrushNew.DeleteObject();
//画一个椭圆弧线
PenNew.CreatePen(PS_DASH,1,rgbColor[0]); BrushNew.CreateSolidBrush(rgbColor[2]); pDC->SelectObject(&PenNew); pDC->SelectObject(&BrushNew);
pDC->Arc(20,200,200,300,200,250,20,200); PenNew.DeleteObject(); BrushNew.DeleteObject();
//画一个扇形
PenNew.CreatePen(PS_SOLID,1,rgbColor[2]); BrushNew.CreateSolidBrush(rgbColor[0]); pDC->SelectObject(&PenNew); pDC->SelectObject(&BrushNew);
pDC->Pie(420,120,540,240,520,160,420,180); PenNew.DeleteObject(); BrushNew.DeleteObject();
//画一条折线
PenNew.CreatePen(PS_SOLID,1,rgbColor[2]); pDC->SelectObject(&PenNew);
POINT pt[3]={{10,100},{50,60},{120,80}}; pDC->Polyline(pt,3); PenNew.DeleteObject();
//画一个点
pDC->SetPixel(CPoint(150,150),rgbColor[0]); //画一个圆角矩形
PenNew.CreatePen(PS_SOLID,1,rgbColor[1]); BrushNew.CreateSolidBrush(rgbColor[2]); pDC->SelectObject(&PenNew);
2
pDC->SelectObject(&BrushNew);
pDC->RoundRect(210,210,410,410,30,30); PenNew.DeleteObject(); BrushNew.DeleteObject();
//画一条曲线
PenNew.CreatePen(PS_SOLID,1,rgbColor[1]); pDC->SelectObject(&PenNew);
POINT pt1[4] = {{20,100},{50,60},{120,80},{150,160}}; pDC->PolyBezier(pt1,4); PenNew.DeleteObject();
//画一个多边形 PenNew.CreatePen(PS_SOLID,1,rgbColor[2]); BrushNew.CreateSolidBrush(rgbColor[1]); pDC->SelectObject(&PenNew); pDC->SelectObject(&BrushNew); POINT pt2[4] = {{130,100},{160,60},{220,80},{250,160}}; pDC->Polygon(pt2,4); PenNew.DeleteObject(); BrushNew.DeleteObject(); pDC->SelectObject(PenOld); pDC->SelectObject(BrushOld); }
结果截图:
3
【程序3:】 利用函数CreateFontIndirect()创建黑体字体,字体高度为30像素,宽度为25像素,并利用函数DrawText()在客户区以该字体输出文本“VC++”。
关键代码:
void CSy2_3View::OnDraw(CDC* pDC) { CSy2_3Doc* pDoc = GetDocument(); ASSERT_VALID(pDoc); // TODO: add draw code for native data here CFont *OldFont,NewFont; LOGFONT MyFont = {30,25,0,0,0,1,1,0,ANSI_CHARSET, }
OUT_DEFAULT_PRECIS,CLIP_DEFAULT_PRECIS,DEFAULT_QUALITY,DEFAULT_PITCH,\黑体\NewFont.CreateFontIndirect(&MyFont); OldFont = pDC->SelectObject(&NewFont); CRect rect;
rect.SetRect(CPoint(150,150),CPoint(250,250)); pDC->DrawText(\pDC->SelectObject(OldFont); NewFont.DeleteObject();
结果截图:
4
…… 此处隐藏:969字,全部文档内容请下载后查看。喜欢就下载吧 ……相关推荐:
- [互联网资料]2022年厦门大学机电工程系824机械设计
- [互联网资料]东南大学2022年硕士研究生拟录取名单公
- [互联网资料]能源调研报告(精选多篇)
- [互联网资料]初三英语下学期 中考英语 语法填空训练
- [互联网资料]2022内蒙古选调生行测常识备考:新事物
- [互联网资料]自驾必备!在新西兰租什么样的车自驾游
- [互联网资料]佛教素食菜谱44页未完
- [互联网资料]盈利能力分析外文翻译
- [互联网资料]2022年南昌航空大学音乐学院736马克思
- [互联网资料]优选外贸跟单实习报告总结(精品版)
- [互联网资料]银行新员工培训总结
- [互联网资料]2_year_visa_new_guidance_190316
- [互联网资料]天津市五校宝坻一中静海一中杨村一中芦
- [互联网资料]2007--2008学年第一学期高三数学宁波市
- [互联网资料]Chromatic framework for vision in ba
- [互联网资料]幼儿园大班上学期美术教案《心愿树》含
- [互联网资料]2022年华中农业大学信息学院820微型计
- [互联网资料]硬盘坏道的表现 __硬盘使用久了
- [互联网资料]江苏省2016年会计从业资格考试《会计基
- [互联网资料]公共场所卫生监督试卷全解
- 高级英语第一册所有修辞方法及例子总结
- 综合交通枢纽规划与城市发展
- 沃尔玛的企业文化案例分析
- 美国Thanksgiving Day 感恩节 介绍
- PEP六年级英语上册Unit6How do you fee
- 最齐全的中国大型商场购物中心名单
- 数据结构实验报告八—哈夫曼编译码
- 杭州市余杭区人民政府(通知)
- 七年级语文成语运用专项训练
- 微观经济学第三章 消费者行为 课后习题
- 对_钱学森之问_的思考
- Excel_三级联动_下拉菜单
- 办公用品需求计划申请表
- 对外汉语教材必须要知道的发展史
- 挑战杯大学生学术科技作品竞赛作品申报
- 举办民办教育培训机构应具备下列条件
- 太阳能路灯项目设计方案
- 2013年八年级上最新人教版新教材Unit3I
- 【历史】 6-4 《近代科学之父牛顿》 课
- 高中生物《第四章 第二节 探讨加酶洗衣




