教学文库网 - 权威文档分享云平台
您的当前位置:首页 > 精品文档 > 互联网资料 >

计算机图形学实验报告—图形与文本

来源:网络收集 时间:2026-09-23
导读: Windows编程实验报告 题 目:专 业:班 级:学 号:姓 名:指导老师: 图形与文本 2014年10月19日 一、实验目的 熟悉MFC技术中图形和文本的使用。 二、实验环境 Windows7操作系统,VC++6.0 三、实验内容 【程序1:】 编写一个单文档的应用程序,在视图窗口中

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字,全部文档内容请下载后查看。喜欢就下载吧 ……
计算机图形学实验报告—图形与文本.doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.jiaowen.net/wendang/446177.html(转载请注明文章来源)
Copyright © 2020-2025 教文网 版权所有
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:78024566 邮箱:78024566@qq.com
苏ICP备19068818号-2
Top
× 游客快捷下载通道(下载后可以自由复制和排版)
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能出现无法下载或内容有问题,请联系客服协助您处理。
× 常见问题(客服时间:周一到周五 9:30-18:00)