图像处理研讨.ppt

图像处理研讨

第7章 图像处理 GDI和GDI+ 计算机在屏幕上绘图时,把指令发送给视频卡。问题是市面上有几百种不同的视频卡,大多数有不同的指令集和功能 GDI+提供了一个抽象层,隐藏了不同视频卡之间的区别,这样就可以调用Windows API函数完成指定的任务了 GDI给开发人员提供了一个相当高级的API,但它仍是一个基于旧的Windows API并且有C语言风格函数的API,所以使用起来不是很方便。GDI+在很大程度上是GDI和应用程序之间的一层,提供了更直观、基于继承性的对象模型。尽管GDI+基本上是GDI的一个包装器,但Microsoft已经能通过GDI+提供新功能了,它还有一些性能方面的改进。 GDI+提供了二维矢量图形、图像处理的功能。 GDI+ 在 GDI(较早版本的 Windows 中提供的 Graphics Device Interface)的基础上进行了改进,添加了新功能并优化了现有功能。.NET基类库的GDI+部分非常大。 1. GDI +命名空间 System.Drawing 命名空间提供了对 GDI+ 基本图形功能的访问。在 System.Drawing.Drawing2D、System.Drawing.Imaging 以及 System.Drawing.Text 命名空间中提供了更高级的功能。 2. 设备环境和Graphics对象 在GDI中,识别输出设备的方式是使用设备环境(DC)对象。DC(设备环境)是一个功能非常强大的对象,在GDI下,所有的绘图工作都必须通过设备环境来完成 在GDI+中,设备环境包装在.NET基类System. Drawing.Graphics中。大多数绘图工作都是调用Graphics实例的方法完成的。实际上,因为Graphics类负责处理大多数绘图操作,所以GDI+中很少有操作不涉及到Graphics实例。理解如何处理这个对象是理解如何使用GDI+在显示设备上绘图的关键。 创建一个Graphics对象 我们可以通过三种方式创建一个Graphics对象。 (1)通过视窗中的Paint 事件的PaintEventArgs直接引用视窗的Graphics对象。 private void Form1_Paint(Object sender, System.Windows.Forms. PaintEventArgs P) { Graphics dc=P.Graphics; } (2) 使用窗体的CreateGraphics()方法创建一个Graphics对象。 Graphics dc = this.CreateGraphics(); (3) 通过图像对象创建一个Graphics对象。 Graphics g = Graphics.FromImage(image); 位图类型 位图是位的数组,它指定了像素矩阵中各像素的颜色。专用于单个像素的位数决定了可分配到该像素的颜色数。 图形文件格式 1、 BMP 2、GIF 3、JPEG 4、标签图像文件格式 图像处理常用的类及控件 1 PictureBox 控件 PictureBox 控件用于显示位图、GIF、JPEG、图元文件或图标格式的图形。所显示的图片由 Image 属性确定,该属性可在运行时或设计时设置。SizeMode 属性控制使图像和控件彼此适合的方式。 2 OpenFileDialog 组件/类 OpenFileDialog 组件是一个预先配置的对话框。它与 Windows 操作系统所公开的“打开文件”对话框相同。可使用 ShowDialog 方法在运行时显示该对话框。另外,可使用Filter 属性设置当前文件名筛选字符串,该字符串确定出现在对话框的“文件类型”框中的选择。使用FileName获取打开的文件名。 3 SaveFileDialog 组件/类 Windows 窗体 SaveFileDialog 组件是一个预先配置的对话框。它与 Windows 使用的标准“保存文件”对话框相同。该组件继承自 CommonDialog 类。 使用方式与OpenFileDialog类似。 4 Bitmap类 封装 GDI+ 位图,此位图由图形图像及其属性的像素数据组成。Bitmap 是用于处理由像素数据定义的图像对象。 5 Image 类 为 Bitmap 和 Metafile 的类提供功能的抽象基类 打开图像 (1)通过PictureBox 打并显示图像 在窗体中绘制 PictureBox控件, 在Image属性中输入要打开的图像文件名。 (2)通过打开文件对话框打开图像 读取图像仅需使用一行代码: Image myImage = Bitmap.FromFile(FileN

文档评论(0)

1亿VIP精品文档

相关文档