彩色图像的边缘检测处理程序设计(7)
时间:2017-05-08 22:22 来源:毕业论文 作者:毕业论文 点击:次
一个典型的Windows窗体应用程序生命期内可能显示的其他窗体的父窗体或所有者,主菜单、工具栏、状态栏等都是显示于该窗体内。当主窗体被关闭时,程序应该随即被退出。 GDI+是与.NET Framework中的图形设备接口进行交互的入口。它使程序开发人员可以编写出与设别无关的受控应用程序,它的设计目的是要提供较高的性能、方便的使用以及对多语言的支持。如果要编写与监视器、打印机或文件等图形设别进行交互的.NET应用程序,那么就必须使用GDI+。 GDI+使得应用程序开发人员在输出屏幕和打印机信息的时候,无需考虑具体显示设备的细节,他们只需调用GDI+库输出的类的一些方法即可完成图形操作,真正的绘图工作由这些方法交给特定的设备驱动程序来完成,GDI+使得图形硬件和应用程序相互隔离,从而使开发人员编写与设备无关的应用程序变得非常容易。 GDI+在GDI的基础上提供了明显的改进。最主要的特点是在GDI+中,没有了句柄或设备上下文的概念,它被Graphics对象取代。Graphics类提供了绘制不同图形对象的方法和属性,而且更易于使用。 GDI+是微软在windows 2000以后操作系统中提供的新的图形设备接口,其通过一套部署为托管代码的类来展现,这套类被称为GDI+的“托管类接口”,GDI+主要提供了三类服务:二文矢量图形:GDI+提供了存储图形基元自身信息的类(或结构体)、存储图形基元绘制方式信息的类以及实际进行绘制的类。图像处理:大多数图片都难以划定为直线和曲线的集合,无法使用二文矢量图形方式进行处理。因此,GDI+提供了Bitmap、Image等类,可用于显示、操作和保存BMP、G、GIF等图像格式。文字显示支持使用各种字体、字号和样式来显示文本。 Graphics类封装了一个GDI+绘图图面,提供将对象绘制到显示设备的方法。绘图程序的一般步骤为:创建Graphics对象;使用Graphics对象的方法绘图、显示文本或处理对象。通常有三种方法创建Graphics对象: 方法一:窗体的Paint事件的响应方法 Private void form1_Paint(object sender,PaintEventArgs e) { Graphics g = e.Graphics; } 也可以用重载窗体的OnPaint方法 Protected override void OnPaint(PaintEventArgs e) { Graphics g = e.Graphics; } 在课题研究中,采用的是窗体的Paint事件的响应方法 方法二:调用控件或窗体的CreateGraphics方法。 Graphics g = this.CreateGraphics(); 此时以this所代表的窗体为画布,以可以使用其他控件对象的引用,创建以控件对象为画布的Graphics对象。 方法三:建立Image对象,名为“g1.jpg”的图片位于当前路径下 Image img = Image.FormFile(“g1.jpg”); 创建Graphics对象 Graphics g = Graphics.FromImage(img); 此时以文件“g1.jpg”为画布,使用g进行绘制图形时,其图形是绘制在文件“g1.jpg”上的。 在创建了Graphics对象后,就可以进行绘图了。可以画线、填充图形、显示文本等,主要用到的对象还有: Color:表示ARGB颜色 Rectangle:存储一组整数,共四个,表示一个矩形的位置和大小 Point:表示在二文平面中定义点的、整数X和Y坐标的有序对。 GDI+支持的图像格式有BMP、GIF、JEPG、EXIF、PNG、TIFF、ICON、WMF、EMF等,几乎涵盖了所有的常用图像格式,使用GDI+可以显示和处理多种格式的图像文件。 课题中使用了GDI+提供的Image、Bitmap等类来进行图像处理、为进行图像格式的加载、变换和保存等操作提供了方便。 Image类:此类是为Bitmap类提供功能的抽象基类。 Bitmap类:封装GDI+位图,此位图由图形图像及其属性的像素数据组成,Bitmap是用于处理由像素数据定义的图像的对象。 (责任编辑:qin) |