欢迎来到天天文库
浏览记录
ID:36301934
大小:1.85 MB
页数:58页
时间:2019-05-08
《gdi与图像处理》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、Windows程序设计(VisualC++版)(WindowsProgrammingBasedonVisualC++)江苏大学计算机学院曹汉清E_Mail:chq@ujs.edu.cn第五章GDI+与图像处理内容§5.1GDI+概述§5.2GDI+绘图基础§5.3GDI+字体和文本绘制§5.4GDI+图像处理一、关于GDI+二、使用GDI+的一般方法三、基本数据结构§5.1GDI+概述GDI:GraphicsDeviceInterface,是程序员编写与设备无关应用程序的基础。GDI+在GDI的基础上进行了改进,添加了很多新
2、功能并优化了其原有功能,是WindowsXP操作系统中提供二维矢量图形、图像处理及字体格式化的部分,它由一组跟图形处理有关的托管类组成,是.NETFramework的组成部分。一、关于GDI+GDI+核心命名空间(P232):System::Drawing:提供GDI+基本图形功能。更为高级的功能在System.Drawing.Drawing2D、System.Drawing.Imaging和System.Drawing.Text命名空间中提供。§5.1GDI+概述System::Drawing::Drawing2D:提供高
3、级的二维图形处理功能和向量操作功能。System::Drawing::Imaging:提供高级的GDI+图像处理功能。System::Drawing::Printing:提供与打印相关的服务。通常情况下,可以创建PrintDocument类的实例、设置描述打印内容的属性,然后调用Print方法进行。System::Drawing::Text:提供高级的字体处理功能。用户可以创建和使用字体集合。一、关于GDI+§5.1GDI+概述System::Drawing主要包含的类和结构:Bitmap:用于位图处理。Brush:用于区域
4、填充。自己定义画刷格式。(抽象基类)Brushes:采用标准颜色的画笔。Font:字体处理。可定义特定的文本格式,包括字体、字号和字形属性。Graphics:用于GDI+图形的绘制。Icon:表示Windows图标Image:Bitmap和Metafile类的抽象基类。ImageAnimator:动画处理,包含基于时间帧的图像。Pen:画笔。自己定义画笔格式。Pens:使用标准颜色的画笔。§5.1GDI+概述一、关于GDI+Region:封闭区域处理。可由矩形和由路径构成SolidBrush:定义单色画刷。StringFor
5、mat:设置文本格式。SystemBrushes:系统画刷SystemColors:系统颜色SystemFonts:系统字体SystemIcons:系统图标SystemPens:系统画笔TextureBrush:纹理画刷。使用图像来填充区域内部。§5.1GDI+概述一、关于GDI+System::Drawing包含的主要结构:CharacterRange:指定字符串内字符位置的范围。Color:表示ARGB颜色。Point:二维平面中的点,X和Y为整型。PointF:二维平面中的点,X和Y为单精度浮点型。Rectangle:
6、矩形。参数为整型。RectangleF:矩形。参数为单精度浮点型。Size:尺寸,有宽度和高度。参数为整型型。SizeF:尺寸,有宽度和高度。参数为单精度浮点型。§5.1GDI+概述一、关于GDI+二、使用GDI+的一般方法①使用Paint事件。在Paint事件中,事件数据参数是通过PaintEventArgs类来传递的。该类有两个重要的属性:一个是ClipRectangle,用来获取在其中可以进行绘画的区域大小,另一个是Graphics,它是用于绘画的Graphics对象,该对象提供与窗体或控件相对应的一种绘图环境。②重载
7、OnPaint虚函数:protected:virtualvoidOnPaint(System::Windows::Forms::PaintEventArgs^e)override{//在此处添加自己的代码Form::OnPaint(e);//一定要有//或在此处添加自己的代码}§5.1GDI+概述二、使用GDI+的一般方法③调用控件的CreateGraphics()成员函数。如在窗体中:Graphics^gr=this->CreateGraphics();④如果处理的是Image对象,还可以使用Graphics类的静态成员函
8、数FromImage,它创建一个Graphics对象并与一个Image对象相关联。Bitmap^hmap=gcnewBitmap(……);Graphics^gr=Graphics::FromImage(hmap);⑤使用Graphics类的FromHwnd()静态成员函数,它为指定的窗口句
此文档下载收益归作者所有