文档介绍:第8章图形图像处理
图形图像基础知识
绘制基本图形
填充图形
图像处理
图形与图像的平移、旋转与缩放
文字处理
GDI+简介
GDI+:Graphics Device Interface (图形设备接口),它提供了高级图形图像处理功能。
在C#中,通过一套部署为托管代码的类来展现提供的图形图像处理功能,这套类被称为GDI+的托管类。利用GDI+的托管类可以轻松实现颜色渐变、透明处理、纹理处理、拉伸和缩放等多种高级功能。
GDI+主要提供了三类服务:
GDI+概述(续)
.NET框架提供的类
提供了对GDI+基本图形功能的访问,主要有Graphics类Bitmap类、从Brush类继承的类、Font类、Icon类、Image类、Pen类、Color类等。
提供了高级的二维和矢量图形处理功能。主要有:梯度型画刷、Matrix类(用于定义几何变换)和GraphicsPath类等。
提供了高级图像处理功能。
提供了高级字体和文本排版功能
GDI+概述(续)
基本结构
Point表示某个特定位置相对于原点的水平和垂直距离。例如:
Point p = new Point (1,1);
Size也有两个整型属性来表示水平和垂直距离—Width和Height。例如:Size s = new Size (5,5);
Rectangle用来指定矩形的坐标,它由一个Point和一个Size组成,其中Point表示矩形左上角,Size表示矩形大小。
GDI+概述(续)
基本结构
例如:
1) 在构造函数中分别指定x坐标、y坐标、宽度和高度。
Rectangle r1 = new Rectangle (1,2,5,6);
2) 在构造函数中指定Point位置和Size结构。
Point p = new Point (1,2);
Size s = new Size (5,6);
Rectangle r2 = new Rectangle (p, s);
GDI+概述(续)
坐标系
屏幕绘制,默认绘图单位为像素。由于屏幕的分辨率不同,相同坐标值的物理位置可能不同。如对于边长为100的正方形,显示器分辨率为800×600像素和1024×768像素时显示的大小是不一样的。
为了使绘图大小在不同的分辨率上看起来一样,也可以指定其他绘图单位,例如英寸、毫米等。
调用Graphics对象的TranslateTransform方法改变在屏幕上绘制的坐标原点,通过设置Graphics对象的【PageUnit】和【PageScale】属性改变度量单位。除此之外,Graphics类还提供了两个只读属性:【DpiX】和【DpiY】,用于获取每度量单位的水平点数和垂直点数。
GDI+概述(续)
坐标系
Graphics类
绘制图形图像前,首先必须创建Graphics对象,然后利用这个对象绘制直线、曲线、椭圆等图形图像。
有三种常见的创建Graphics对象的方法。
。例如:
private void Form1_Paint(……)
{
Graphics g = ;
}
Graphics类(续)
,把当前窗体的画笔、字体、颜色作为默认值,获取对Graphics对象的引用。例如:
Graphics g = ();
……
3. 从继承自图像的任何对象创建Graphics对象,例如:
Bitmap myBitmap = new Bitmap(@"C:\mytest1\Pics\");
Graphics g = (myBitmap);
颜色
。人眼可以分辨的任何颜色都是由一定的红、绿、蓝三色光组成。任何一种颜色都可以有四个分量:
R:红色,取值范围0~255,0表示没有红色成分,255为饱和红色;
G:绿色,取值范围0~255,0表示没有绿色成分,255为饱和绿色;
B:蓝色,取值范围0