第12章绘图及图像处理讲解学习

上传人:youn****329 文档编号:136946576 上传时间:2020-07-04 格式:PPT 页数:35 大小:304.50KB
返回 下载 相关 举报
第12章绘图及图像处理讲解学习_第1页
第1页 / 共35页
第12章绘图及图像处理讲解学习_第2页
第2页 / 共35页
第12章绘图及图像处理讲解学习_第3页
第3页 / 共35页
第12章绘图及图像处理讲解学习_第4页
第4页 / 共35页
第12章绘图及图像处理讲解学习_第5页
第5页 / 共35页
点击查看更多>>
资源描述

《第12章绘图及图像处理讲解学习》由会员分享,可在线阅读,更多相关《第12章绘图及图像处理讲解学习(35页珍藏版)》请在金锄头文库上搜索。

1、第12章绘图及图像处理,唐大仕,内容提要,GDI+及其基本类Graphics对象及绘图方法控件与绘图图像处理应用示例,1.GDI+及其基本类,GDI+技术简介,GDI:GraphicsDeviceInterface.GDI+:GDI的改进,同时也是.NET框架结构的重要组成部分。和GDI一样它提供料对二维图形图像和文字排版处理的支持参见WinGDI目录,.NET框架结构中对GDI的封装,坐标系统,GDI+的坐标系统,System.Drawing中常用的结构,ColorColor封装了对颜色的定义。该结构中封装了数百个分别对应与标准调色板色彩的静态成员。如Color.Red代表红色,Color.

2、Purple代表紫色有用的静态方法:FromArgb:通过三原色构建Color对象FromKnownColor:通过已知颜色构建Color对象FromName:通过颜色名称来构建Color对象例如:Colortemp1=Color.Black;Colortemp2=Color.FromArgb(0,0,0)Colortemp3=Color.FromName(“Black”);,表示绘制平面上的一个尺寸,一个为整数,一个为浮点数构造函数Sizesz1=newSize(10,10)属性:Width:表示宽度值Height:表示高度值重载了加、减、比较、赋值操作Sizesz2=sz1;Sizesz3

3、=sz1-sz2;Sizesz4=sz1+sz2;,常用对象:Size和SizeF,表示绘制平面上点的坐标,一个为整数,另外一个为浮点数构造方法:Pointpt=newPoint(20,20);Pointpt=newPoint(newSize(10,10)重载了加、减、比较、赋值操作,常用对象:Point和PointF,Rectangle和RectangleF,表示绘制平面上的一个矩形区域属性Bottom:矩形底部的纵座标Top:矩形顶部的纵座标Left:矩形坐部的横座标Right:矩形右部的横座标Height:矩形的高度Width:矩形的宽度Size:矩形的尺寸IsEmpty:矩形是否为空(

4、高度和宽度是否都是)X:矩形左上角的横座标Y:矩形左上角的纵座标,2.Graphics对象及绘图方法,Graphics类,使用GDI+绘图,首先要创建Graphics类Graphics使用的两种方法在OnPaint事件中使用ProtectedoverridevoidOnPaint(PaintEventArgse)Graphicsg=e.Graphics;在其他情况使用Graphicsg=this.CreateGraphics();Try/作图Finallyif(g!=null)(IDisposable)g).Dispose();,Graphics对象绘图方法,DrawArc:绘制圆弧DrawB

5、ezier:绘制贝塞尔曲线DrawBeziers:绘制贝塞尔曲线组DrawClosedCurve:绘制封闭曲线DrawCurve:绘制曲线DrawEllipse:绘制椭圆DrawIcon:绘制图标DrawIconUnstretched:无缩放绘制图标DrawImage:绘制图像DrawImageUnscaled:无缩放绘制图像DrawLine:绘制直线DrawLines:绘制直线组DrawPath:绘制GraphicsPath对象DrawPie:绘制圆饼DrawPolygon:绘制多边形DrawRectangle:绘制矩形DrawRectangles:绘制矩形组DrawString:绘制文本,

6、Graphics对象绘制实心图形方法FillClosedCurve:绘制实心封闭曲线FillEllipe:封闭实心椭圆FillPath:GraphicsPath对象FillPie:绘制实心圆饼FillPolygon:绘制实心多边形FillRectangle:绘制实心矩形FillRectangles:绘制实心矩形组FillRegion:绘制实心Region对象,Graphics对象绘图方法,画笔和画刷,Pen在System.Drawing名称空间中用来指定图形的轮廓,如颜色和宽度等画笔创建Penpen=newPen(Color.Blue,5)使用Pens类,画笔的属性:,Brush,Brush对

7、象是一个抽象类,不能被直接使用。它有个派生类,分别实行不同类型的画刷。画刷类型:SolidBrush:实心画刷(最简单)HatchBrush:带阴影线的画刷LinearGradientBrush:填充颜色线性渐变的画刷PathGradientBrush:填充颜色沿路径渐变的画刷TextureBrush:使用图像进行填充的画刷使用Brushes类,绘制文本,Font类回顾FontFamiliy:字体家族,如TimesNewRoman、宋体等字体大小:float类型字体风格Bold:粗体Italic:斜体Regular:正规Strikeout:加删除线Underline:加下划线例如:Fontmy

8、Font=newFont(“宋体”,16,FontStyle.Bold|FontStyle.Italic);以上代码创建了宋体家族的字体对象,字体大小为,样式为粗斜体。,DrawString的使用方法,DrawString(string,Font,Brush,PointF);DrawString(string,Font,Brush,RectangleF);DrawString(string,Font,Brush,PointF,StringFormat);DrawString(string,Font,Brush,RectangleF,StringFormat);DrawString(string

9、,Font,Brush,float,float);DrawString(string,Font,Brush,float,float,StringFormat);,绘制图形,直线的绘制DrawLine,3.控件与绘图,处理重绘和无效操作,调用以下几个方法voidInvalidate();voidInvalidate(Rectangle);voidUpdate();voidRefresh();,双缓冲技术,1、在内存中建立一块“虚拟画布”:Bitmapbmp=newBitmap(600,600);2、获取这块内存画布的Graphics引用:Graphicsg=Graphics.FromImage(

10、bmp);3、在这块内存画布上绘图:g.FillEllipse(brush,i*10,j*10,10,10);4、将内存画布画到窗口中this.CreateGraphics().DrawImage(bmp,0,0);,控件的DoubleBuffered属性,在V2008中有,4.图像处理,GDI+中的图像处理,GDI+中对图像处理提供了以下支持:支持BMP、GIF、JPEG、PNG、TIFF、ICON等等广泛格式的图像文件提供了用于多种光栅图像格式进行编码和解码的公共接口支持为图像格式添加动态格式支持对图像的像素进行多种处理,包括亮度、对比度、颜色平衡、模糊、消弱等支持对图像进行旋转、剪切等操

11、作主要通过Image(抽象类)实现,Bitmap类,从Image派生可以处理BMP、Jpeg、GIF、PNG等格式构建Bitmapbt1=newBitmap(“c:1.bmp”);Bitmapbt2=newBitmap(bt1,200,300);Bitmapbt3;bt3.FromFile(“文件名称”);,常见的处理方法,整个图像的处理DrawImage示例ThumbnailTest.cs针对图像像素的处理,Paint.NET,http:/www.eecs.wsu.edu/,5.应用示例,SplatterDrawRunningCurveScreenSaverGravityBall,关于Tra

12、nsform,myGraphics.DrawEllipse(myPen,0,0,100,50);myGraphics.ScaleTransform(1,0.5f);myGraphics.TranslateTransform(50,0,MatrixOrder.Append);myGraphics.RotateTransform(30,MatrixOrder.Append);myGraphics.DrawEllipse(myPen,0,0,100,50);myGraphics.Transfrom是一个Matrix,关于Path、关于渐变Brush,图像的处理,图像文件bmp的格式使用Lock及指针几个例子,问题与讨论,

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 中学教育 > 教学课件 > 高中课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号