欢迎来到天天文库
浏览记录
ID:50307672
大小:3.16 MB
页数:60页
时间:2020-03-07
《Visual C++程序设计教程 教学课件 段智毅 第9章 文字和图形处理技术 .ppt》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库。
1、第9章文字和图形处理技术【学习目标】与其他许多编程工具相比,VisualC++在图形、图像的处理方面更胜一筹。在编写Windows风格的程序过程中,载入位图或者创建位图都是程序员经常使用的方法,只有熟练掌握了位图的使用方法,才能编写出标准且美观的应用程序。本章中将介绍与VisualC++相关的图形、图像处理知识,对绘图所需要的类进行充分讲解,对于各种文本和位图的操作进行细致地介绍,并通过具体的实例来对绘图函数的用法进行详细的说明。通过学习本章,读者可以达到以下学习目的:l了解GDI对象和设备上下文l掌握各种样式文本的输
2、出l掌握各种图形的绘制l掌握对图形进行颜色填充l掌握图像的绘制l掌握图像在窗口中的一些操作课件制作人:宋坤【学习导航】文本和图形图像处理技术在应用程序的许多方面被广泛使用。例如,设计应用程序界面、设计第三方控件、设计多媒体应用程序等。本章从文本输出、图形绘制和图像显示3个方面介绍了其在VisualC++中的实现。本章在书中的学习位置如图9-1所示。课件制作人:宋坤【知识框架】本章学习内容知识框架如图9-2所示。课件制作人:宋坤本章目录9.1GDI概述9.2设备上下文介绍9.3GDI对象9.4文本输出9.5绘制图形9.6
3、绘制图像9.7课后习题√√√√√√√课件制作人:宋坤9.1GDI概述以往许多MSDOS程序采用直接向视频存储区或打印机端口输送数据,这种做法不利之处是需要各种显示卡(低分辨率彩色图形显示卡、加强图形显示卡以及图像图形阵)或打印机驱动程序,支持所有这些设备意味着要用大量的编程来包含这些驱动程序(为每一个设备编写不同的代码)。为了减轻开发程序的难度,Windows提供了一个抽象的接口,图形设备接口GraphicsDeviceInterface(GDI)。另外,Windows还提供了各种显示卡及打印机的驱动程序,这样在写程序
4、时就可以不必关心显示卡和打印机的类型,简化了程序开发的难度。其实,GDI是微软公司提供的一组绘图函数,通常称之为GDI函数。使用这些函数可以绘制各种图形。本章将介绍有关GDI的相关知识。课件制作人:宋坤9.2设备上下文介绍设备上下文的英文全称是DeviceContext,简称为DC。设备上下文是用来绘制图形的逻辑设备,编程人员可以在该设备上绘制直线、曲线和立方体等各式各样的几何图案及在设备上输出文字。在开发应用程序时往往要在输出设备上输出程序的运行结果。输出设备通常指的是显示器和打印机,但程序员需要了解显示器和打印机的
5、特性才能将结果显示在输出设备上,而了解显示器和打印机特性这个过程会花去程序员的大部分时间,为减少开发应用程序的开发时间及开发难度,就提出设备上下文这个概念。通过使用设备上下文,编程人员可以不必关心输出设备的具体特性,直接绘制最终的结果,而余下的工作都交给系统来完成。在Windows应用程序中,每个窗口都关联有设备上下文,用户只要获得了窗口的设备上下文,就可以在窗口中绘制各种文本、图形图像等信息了。例如:下面的语句从对话框中获得了一个设备上下文句柄,并在设备上下文中输出文本,方法如下。(1)新建一个对话框应用程序。(2)
6、在对话框类的OnPoint方法中添加如下代码:voidCDrawDlgDlg::OnPaint(){HDChDC;hDC=GetDC()->m_hDC;chardata[]="明日科技有限公司!";TextOut(hDC,60,30,data,strlen(data));//代码省略}在向设备上下文中输出文本时,文本将显示在对话框中,如图9-1所示。课件制作人:宋坤9.2设备上下文介绍Windows操作系统提供了一组WindowsAPI函数用于在设备上下文中绘制信息,通常被称为GDI函数。在上面的例子中使用的TextO
7、ut函数便是其中之一。在MFC中,为了方便用户绘图,提供了一个设备上下文类——CDC,该类中封装的多个方法用于在屏幕中绘制信息,这些方法多数是与GDI函数一一对应的。在后面的章节中将逐步介绍这些方法在实际中的应用。课件制作人:宋坤9.3GDI对象为了方便用户在设备上下文中绘制信息,Windows提供了6个GDI对象,分别为画笔、画刷、字体、位图、调色板和区域。MFC对这6个对象分别进行了封装,形成了6个对应的类,分别为“CPen”、“CBrush”、“CFont”、“CBitmap”、“CPalette”和“CRgn”
8、。下面分别对这6个类进行介绍。CPenCPen类封装了Windows的画笔对象。画笔对象主要用于绘制线条,通过画笔对象,可以设置绘制线条的宽度、颜色、风格等信息。CPen类的主要方法如下。1.CreatePen方法CreatePen方法用于动态创建一个画笔对象。语法:BOOLCreatePen(intnPenStyle,intn
此文档下载收益归作者所有