资源描述:
《图形图像处理基础》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、图形图像处理基础1、GDI+绘图基础1.1图形设备接口(GDI+)GDI+(GraphicsDeviceInterfacePlus)是.NET中实现图形、图像及文字处理的API;所有的API都包含在以下名词空间里:System.DrawingSystem.Drawing.Drawing2DSystem.Drawing.ImagingSystem.Drawing.Text坐标系统1.2图形上下文和Graphics对象C#中的“图形上下文”是屏幕上可绘制图形的区域,Graphics对象管理“图形上下文”
2、;Graphlics对象包括了绘图、字体处理、颜色处理等各种图形处理的方法,我们进行图形绘制,第一步就必须创建或获得一个Graphics对象;1.3颜色处理在.NET中,使用Color结构来定义操纵色彩的方法和常量;在.NET中,任何颜色都可以通过alpha、红、绿、蓝四个数来表示,这种表示法称为ARGB值,alpha代表颜色的透明度,这四个数的取值都是从0-255;要使用ARGB来设定颜色,需要使用Color的静态方法FromArgb来返回一个Color对象,如:Colormycolor=Colo
3、r.FromArgb(0,0,0,0);此外,Color还预定义了一些Color常量,我们可以直接使用,如:Color.RedColor.Black1.4图形程序的设计的一般方法一般而言,图形程序的设计可分为以下步骤:1、创建或者获取Graphics对象;2、创建画图工具对象(如画笔、画刷对象);3、调用Graphics对象的方法进行图形绘制。2、创建画布(Graphics对象)用GDI+创建图形需要先创建一个Graphics对象,Graphics类是GDI+的核心;创建Graphics对象类似于建
4、立了一块画布,有了画布,才可以调用其画图方法进行绘图;在图形程序设计中,通常使用下述两种方法创建一个Graphics对象:1、利用窗体或控件的Paint事件中的PaintEventArgs来建立Graphics对象的引用,如:2、利用窗体或某个控件的CreateGraphics方法建立Graphics对象的引用,所建对象是控件或窗体的绘图区域,如:3、创建绘图工具3.1创建画笔(Pen)对象画笔用于绘制线条、勾勒形状轮廓或呈现其它几何表示形式;画笔对象用Pen类来创建,画笔通常具有宽度、样式和颜色三
5、种属性:宽度用来确定所画线条的宽度,默认以像素为单位;颜色确定了所画的线条颜色;样式确定了所画线条的线型,如实线、虚线、点线等。Pen类位于System.Drawing名词空间内,常用的构造函数有两种:publicPen(Colorcolor);Penpen1=newPen(Color.Red);publicPen(Colorcolor,floatwidth);Colorpencolor=Color.FromArgb(0,255,0,0);Penmypen=newPen(pencolor,2);3.
6、2创建画刷(Brush)对象画刷对象用于填充图形区域,如实心形状、图像或文本,它指定了填充的特性;Brush类是一个抽象基类,不能用它来创建对象,GDI+系统提供了几种它的子类以供使用:SolidBrush:单色画刷HatchBrush:阴影画刷TextureBrush:纹理画刷LinearGradientBrush:颜色渐变画刷PathGradientBrush:路径渐变画刷3.2.1单色画刷SolidBrush类是所有Brush之中最基础的一种,属于System.Drawing.Drawing2
7、D名词空间,其主要用途是将某一特定区域填入单一的颜色;其构造函数如下:publicSolidBrush(Color);SolidBrushbh1=newSolidBrush(Color.Red);Graphicsg=pictureBox1.CreateGraphics();SolidBrushb=newSolidBrush(Color.Blue);g.FillRectangle(b,10,10,200,100);3.2.2阴影画刷这种画刷具有两种颜色:前景色和背景色,前景色定义线条的颜色,背景色定义
8、各线条之间间隙的颜色;有两个构造函数publicHatchBrush(HatchStyle,Color);publicHatchBrush(HatchStyle,Color,Color);其中HatchStyle为枚举类型,定义了阴影画刷的样式,常用取值如下表所示:HatchBrushhb=newHatchBrush(HatchStyle.Cross,Color.Red);BackwardDiagonal从右上到左下的对角线的线条图案。Cross指定交叉的水平线和垂直