没有合适的资源?快使用搜索试试~ 我知道了~
【计算机图形学课程】01.MFC基本绘图函数使用方法1
需积分: 0 0 下载量 108 浏览量
2022-08-03
23:46:58
上传
评论
收藏 9.97MB PDF 举报
温馨提示
试读
25页
(3) CSzie类:存放矩形的宽度和高度的坐标(cx,cy),其中cx为矩形的宽度,cy为矩形的高度 (1) CBitmap:封装了一个GDI位图,提供位图操
资源推荐
资源详情
资源评论
【计算机图形学课程】一.MFC基本绘图函数使用方法
原创
Eastmount
阅读数 32613
收藏
最后发布于2016-11-16 04:45:51
展开
Python+TensorFlow人工智能
该专栏为人工智能入门专栏,采用Python3和TensorFlow实现人工智能相关算法。前期介绍安装流程、基础语法
…
Eastmount
¥9.90
去订阅
这是最近我《计算机图形学》课程实践编程课介绍的相关知识,主要是想通过MFC C++绘图,让学生体会下图形学相关的编程及简
单的图形绘制,同时非常佩服学生的想象力,他们做得真的不错。希望这篇基础文章对你有所帮助吧!尤其是有这门课程的学生或编程爱
好者,如果文章存在错误或不足之处,还请海涵。
参考书籍:孔令德·《计算机图形学基础教程(Visual C++版)》
学生绘制的图形还是非常有创新的,表示很满意,哈哈哈~
一. MFC绘图基础知识 CDC类
PS:这部分主要引入孔令德老师的知识,这篇文章以后面的编程为主。
VC++具有强大的绘图功能,虽然基于对话框的应用我推荐大家使用C# Winform程序,但是计算机图形和图像的基础知识,还是强
烈推荐使用VC++ MFC实现。这有助于让你深入的理解图形变换、图像处理等知识。 在Windows平台下,GDI(Graphics Device
Interface)图形设备接口被抽象为上下文CDC类(Device Context,DC)。Windows平台直接接收图形数据信息的不是显示器和打印
机等硬件设备,而是CDC对象。MFC中,CDC类定义设备上下文对象的基类,封装了所需的成员函数,调用CDC类的成员函数,绘制和
打印图形及文字。
CDC类派生出CClientDC类、CMetaFileDC类、CPaintDC类和CWindowDC类,请读者自行学习,同时推荐阅读原书。
MFC常用CPoint、CRect、CSize等数据类型。
(1) CPoint类:存放点坐标(x,y);
第1页 共25页
(2) CRect类:存放矩形左上顶点和右下角顶点的坐标(top、left、right、bottom),其中(top,left)为矩形的左上角点,
(right,bottom)为矩形的右下角点;
(3) CSzie类:存放矩形的宽度和高度的坐标(cx,cy),其中cx为矩形的宽度,cy为矩形的高度。
MFC绘图工具类包括CGdiObject、CBitmap、CBrush、CFont、CPallette、CPen和CRgn等。常用的包括:
(1) CBitmap:封装了一个GDI位图,提供位图操作的接口;
(2) CFont:封装了GDI字体,可以选作设备上下文中的当前字体;
(3) CBrush:封装了GDI画刷,选作设备上下文的当前画刷,画刷用于填充图形内部;
(4) CPen:封装了GDI画笔,选作设备上下文的当前画笔,画笔用于绘制图形边界线;
(5) CPallette:封装了GDI调色板,提供应用程序和显示器之间的颜色接口;
(6) CGdiObject:GDI绘图工具的基类,一般不能直接使用。
二. MFC单文档编程介绍
首先创建MFC项目,选择"MFC AppWizard"工程,命名为"test01"。
第2页 共25页
然后选择"单文档"格式,其中"基于对话框"是Dialog对话框工程。
创建完工程,在工作区间主要包括:ClassView(类视图)、ResourceView(资源视图)和FileView(文件视图)。其中类视图主
要包含各个类,文件视图包括源文件.cpp和头文件.h。
打开资源ResourceView视图如下所示:
第3页 共25页
MFC写代码通常在xxxView.cpp文件下,在"test01View.cpp"中找到OnDraw()函数,用于绘图:
下面将详细介绍MFC基础绘图函数。
/////////////////////////////////////////////////////////////////////////////
// CTest01View drawing
void
CTest01View::OnDraw(CDC* pDC)
{
CTest01Doc* pDoc = GetDocument();
ASSERT_VALID(pDoc);
//
TODO:
add draw code for native data here
}
第4页 共25页
剩余24页未读,继续阅读
资源评论
无能为力就要努力
- 粉丝: 16
- 资源: 332
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功