本章主要介绍使用C#进行图形图像编程基础,其中包括GDI+绘图基础、C#图像处理基础以及简单的图像处理技术。
7.2 C#图像处理基础
本节主要介绍C#图像处理基础知识以及对图像的基本处理方法和技巧,主要包括图像的加载、变换和保存等操作。
7.2.1 C#图像处理概述
1.图像文件的类型
GDI+支持的图像格式有BMP、GIF、JPEG、EXIF、PNG、TIFF、ICON、WMF、EMF等,几乎涵盖了所有的常用图像格式,使用GDI+可以显示和处理多种格式的图像文件。
2.图像类
GDI+提供了Image、Bitmap和Metafile等类用于图像处理,为用户进行图像格式的加载、变换和保存等操作提供了方便。
(1)Image类
Image类是为Bitmap和Metafile的类提供功能的抽象基类。 (2)Metafile类
定义图形图元文件,图元文件包含描述一系列图形操作的记录,这些操作可以被记录(构造)和被回放(显示)。
(3)Bitmap类
封装GDI+位图,此位图由图形图像及其属性的像素数据组成,Bitmap是用于处理由像素数据定义的图像的对象,它属于System.Drawing命名空间,该命名空间提供了对GDI+基本图形功能的访问。Bitmap类常用方法和属性如表7.8所示。
表7.8 Bitmap常用属性和方法
本章主要介绍使用C#进行图形图像编程基础,其中包括GDI+绘图基础、C#图像处理基础以及简单的图像处理技术。
Bitmap类有多种构造函数,因此可以通过多种形式建立Bitmap对象,例如: 从指定的现有图像建立Bitmap对象
Bitmap box1 =new Bitmap(pictureBox1.Image);
从指定的图像文件建立Bitmap对象,其中“C:\MyImages\TestImage.bmp”已存在的图像文件
Bitmap box2 =new Bitmap("C:\\MyImages\\TestImage.bmp");
从现有的Bitmap对象建立新的Bitmap对象
Bitmap box3 = new Bitmap(box1);
7.2.2 图像的输入和保存
1.图像的输入
在窗体或图形框内输入图像有两种方式:(一)在窗体设计时使用图形框对象的Image属性输入;(二)在程序中通过打开文件对话框输入。 方法(一)、窗体设计时使用图形框对象的Image属性输入 窗体设计时使用对象的Image属性输入图像的操作如下: (1)在窗体上,建立一个图形框对象(pictureBox1),选择图形框对象属性中的Image属性,如图7.12所示。
(2)单击Image属性右侧的【 】,弹出一个“选择资源”窗口,在该窗口中选择“本地资源”,单击【导入(M)...】将弹出一个“打开”对话框,如图7.13所示。