欢迎来到淘文阁 - 分享文档赚钱的网站! | 帮助中心 好文档才是您的得力助手!
淘文阁 - 分享文档赚钱的网站
全部分类
  • 研究报告>
  • 管理文献>
  • 标准材料>
  • 技术资料>
  • 教育专区>
  • 应用文书>
  • 生活休闲>
  • 考试试题>
  • pptx模板>
  • 工商注册>
  • 期刊短文>
  • 图片设计>
  • ImageVerifierCode 换一换

    最新图形图像处理基础ppt课件.ppt

    • 资源ID:34223953       资源大小:1.44MB        全文页数:48页
    • 资源格式: PPT        下载积分:20金币
    快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录   QQ登录  
    二维码
    微信扫一扫登录
    下载资源需要20金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    最新图形图像处理基础ppt课件.ppt

    图形图像处理基础图形图像处理基础1、GDI+绘图基础 1.1 图形设备接口(GDI+) GDI+(Graphics Device Interface Plus)是.NET中实现图形、图像及文字处理的API; 所有的API都包含在以下名词空间里: System.Drawing System.Drawing.Drawing2D System.Drawing.Imaging System.Drawing.Text3、创建绘图工具 3.1 创建画笔(Pen)对象 画笔用于绘制线条、勾勒形状轮廓或呈现其它几何表示形式; 画笔对象用Pen类来创建,画笔通常具有宽度、样式和颜色三种属性: 宽度用来确定所画线条的宽度,默认以像素为单位; 颜色确定了所画的线条颜色; 样式确定了所画线条的线型,如实线、虚线、点线等。 Pen类位于System.Drawing名词空间内,常用的构造函数有两种: public Pen(Color color);Pen pen1 = new Pen(Color.Red); public Pen(Color color, float width);Color pencolor = Color.FromArgb(0, 255, 0, 0);Pen mypen = new Pen(pencolor, 2); 3.2 创建画刷(Brush)对象 画刷对象用于填充图形区域,如实心形状、图像或文本,它指定了填充的特性; Brush类是一个抽象基类,不能用它来创建对象,GDI+系统提供了几种它的子类以供使用: SolidBrush:单色画刷 HatchBrush:阴影画刷 TextureBrush:纹理画刷 LinearGradientBrush:颜色渐变画刷 PathGradientBrush:路径渐变画刷 3.2.1 单色画刷 SolidBrush类是所有Brush之中最基础的一种,属于System.Drawing.Drawing2D名词空间,其主要用途是将某一特定区域填入单一的颜色; 其构造函数如下:public SolidBrush(Color);SolidBrush bh1 = new SolidBrush(Color.Red);Graphics g = pictureBox1.CreateGraphics();SolidBrush b = new SolidBrush(Color.Blue);g.FillRectangle(b, 10, 10, 200, 100); 3.2.2 阴影画刷 这种画刷具有两种颜色:前景色和背景色,前景色定义线条的颜色,背景色定义各线条之间间隙的颜色; 有两个构造函数 public HatchBrush(HatchStyle, Color); public HatchBrush(HatchStyle, Color, Color); 其中HatchStyle为枚举类型,定义了阴影画刷的样式,常用取值如下表所示:HatchBrush hb = new HatchBrush(HatchStyle.Cross, Color.Red);BackwardDiagonal从右上到左下的对角线的线条图案。Cross指定交叉的水平线和垂直线。DiagonalCross指定互相交叉的正向对角线和反向对角线。这些直线是锯齿消除的。ForwardDiagonal从左上到右下的对角线的线条图案。Horizontal水平线的图案。Vertical垂直线的图案。Graphics g = pictureBox1.CreateGraphics();HatchBrush b = new HatchBrush(HatchStyle.Cross, Color.Blue);g.FillRectangle(b, 10, 10, 200, 100); 3.3.3 渐变画刷 渐变画刷用于在某一特定的区域内产生渐变效果,一般而言,常见的渐变效果是由两个颜色逐渐变化而来的; 在.NET中有两种渐变画刷: LinearGradientBrush:可以显示线型渐变效果(线性渐变); PathGradientBrush:可以显示比较有弹性的渐变效果(路径渐变)。 LinearGradientBrush的构造函数public LinearGradientBrush(Point point1,Point point2,Color color1,Color color2);其中:point1:表示渐变起始点;point2:渐变终结点;color1:表示渐变起始颜色;color2:渐变终结颜色。Graphics g = pictureBox1.CreateGraphics();LinearGradientBrush b = new LinearGradientBrush(new Point(0,0), new Point(300, 200),Color.Red,Color.Black);g.FillRectangle(b, 0, 0, 300, 200);4、Graphics对象的常用画图方法 4.1 画直线 Graphics对象的DrawLine方法提供了在两点间画直线的方法,它有两种使用方法:public void DrawLine(Pen, int, int, int, itn);public void DrawLine(Pen, Point, Point);其中,第一个参数给出了画直线的画笔工具,在画笔工具里包含了线条粗细、颜色与样式等信息,而后面的参数则给出了直线的起点与终点,如:Graphics g = this.CreateGraphics();g.DrawLine(new Pen(Color.Red), 10, 10, 100, 100); 4.2 画矩形 (1)绘制空心矩形 采用Graphics对象的DrawRectangle方法可使用指定的画笔绘制一空心矩形,使用方法如下:DrawRectangle(Pen p, int x, int y, int width, int height); (2)绘制实心矩形 采用Graphics对象的FillRectangle方法可使用指定的画刷绘制一实心矩形,使用方法如下:FillRectangle(Brush b, int x, int y, int widht, int height);DrawRectangleFillRectangle 4.3 画椭圆 (1)绘制空心椭圆 使用Graphics对象的DrawEllipse方法可使用指定的画笔绘制一空心椭圆:DrawEllipse(Pen p, int x, int y, int width, int height);DrawEllipse(Pen p, Rectangle rect); (2)绘制实心椭圆 使用Graphics对象的FillEllipse方法可使用指定的画刷绘制一实心椭圆:FillEllipse(Brush b, int x, int y, int widht, int height);FillEllipse(Brush b, Rectangle rect);Pen p = new Pen(Color.Red);g.DrawEllipse(p, 10, 10, 200, 100);SolidBrush b = new SolidBrush(Color.Red);g.FillEllipse(b, 10, 10, 200, 100); 4.4 绘制弧线 弧是椭圆的一部分,计量单位为度,我们把从“起始角”开始的连续角度称作弧度,弧线就是从起始角开始,按照弧度旋转而成的线段; 按顺时针旋转的弧度为正,按逆时针旋转的弧度为负,如: 在绘制椭圆时,我们使用椭圆的边界矩形来指定椭圆的尺寸,因此绘制弧线时也需要按照边界矩形来确定尺寸; 常用的绘制弧线的方法有以下三个: (1)DrawArc方法,绘制一段弧线,格式如下:DrawArc(Pen p, int x, int y, int width, int height,int startAngle, int sweepAngle);其中,startAngle为起始角度,sweepAngle为旋转度; (2)DrawPie方法,用于画一条弧线,并将弧的两个端点与圆心相连,即画出一个扇形轮廓,使用方法:DrawPie(Pen p, int x, int y, int width, int height,int startAngle, int sweepAngle);其中各参数的意义与DrawArc类似; (3)FillPie方法,使用指定画刷填充扇形,使用方法:FillPie(Brush b, int x, int y, int width, int height,int startAngle, sweepAngle);g.DrawArc(p, 10, 10, 200, 100, 0, 90);g.DrawPie(p, 10, 10, 200, 100, 0, 90);SolidBrush b = new SolidBrush(Color.Red);g.FillPie(b, 10, 10, 200, 100, 0, 90); 4.5 绘制多边形与折线 Graphics对象提供了以下一些用于绘制多边形的方法: (1)DrawLines方法,绘制一系列的折线,各个折线点的坐标用Points数组指定,若最后的点不等于第一个点的坐标,那么图形不封闭,使用方法:DrawLines(Pen p, Point points); (2)DrawPolygon方法,绘制多边形,即使最后一个点和第一个点不相同,也绘制封闭多边形,使用方法:DrawPolygon(Pen p, Point points); (3)FillPolygon方法,填充多边形,使用方法:FillPolygon(Brush b, Point points);Pen p = new Pen(Color.Red);Point points = new Point3;points0 = new Point(10, 10);points1 = new Point(60, 100);points2 = new Point(200, 20);g.DrawLines(p, points);SolidBrush b = new SolidBrush(Color.Red);g.FillPolygon(b, points);g.DrawPolygon(p, points);5、图像处理概述 5.1 图像文件类型 使用GDI+可以显示和处理多种格式的图像文件,其中主要包括: 位图(*.bmp) Icon(*.ico) GIF(*.gif) JPEG(*.jpg) 5.2 图像对象 在.NET中,进行图像处理一般是通过Image类及其派生类来实现; Image类是一个抽象类,不能直接使用,实践中主要使用它的派生类Bitmap类; Bitmap类封装了GDI+位图,可以处理由像素数据定义的图像,该类属于System.Drawing名词空间; Bitmap类的构造函数:Bitmap(string filename);Bitmap(Image img);Bitmap(Stream stream);Bitmap bm = new Bitmap(“test.bmp”); Bitmap类的GetPixel和SetPixel方法: GetPixel方法用于获取图像中指定像素的颜色; SetPixel方法用于设定图像中指定像素的颜色;Bitmap bm = new Bitmap(“test.jpg”);Color c = bm.GetPixel(100, 100);c.R = c.R / 2;bm.SetPixel(100, 100, c);6、图像的显示和保存 在程序中,用于显示图片常用pictureBox控件,要在该控件上显示图片,需设置其Image属性,通过属性框或者程序运行时的OpenFileDialog对话框,可以指定Image属性;Bitmap image = new Bitmap(filename);pictureBox1.Image = image; 保存图像可以使用Bitmap类的Save方法,该方法的使用方式主要有以下两种:Save(string filename);Save(string filename, ImageFormat format);Bitmap bm = new Bitmap(“test.bmp”);bm.Save(“test.jpg”, ImageFormat.Jpeg);注:ImageFormat类位于System.Drawing.Imaging 里7、图像拷贝和粘贴 在C#中,Clipboard类提供了将数据放在系统剪贴板和从系统剪贴板恢复数据的方法,它位于名词空间System.Windows.Forms 里; Clipboard类只有三个成员: 构造函数: SetDataObject:该静态方法实现往剪贴板上写数据,使用方式如下:Clipboard.SetDataObject(Object obj); GetDataObject:该静态方法负责从剪贴板中获取数据,它将返回IDataObject,可以使用IDataObject的GetDataPresent方法来判断当前数据是否是指定的数据,然后使用GetData方法获取指定格式的数据,如: IDataObject dtObj = Clipboard.GetDataObject(); if(dtObj.GetDataPresent(DataFormats.Bitmap) Image im = dtObj.GetData(DataFormats.Bitmap); 实例: 1、建立Windows应用程序项目; 2、设计界面如下: 3、编写“复制”按钮的单击事件处理程序: 4、编写“粘贴”按钮的单击事件处理程序:8、图像处理应用实例 实例1 改变图像分辨率 图像的分辨率决定了图像与原物的逼近程度,对同一大小的图像,像素越多,即将图像分割得越细,图像就越逼真,这就称为分辨率高,反之为分辨率低; 练习:将256*256分辨率的图像变换为64*64分辨率; 1、创建Windows应用程序项目; 2、设计程序界面如下: 3、处理按钮单击事件: 实例2 彩色图像变换为灰度图像 1 、创建Windows应用程序项目; 2、设计界面如下: 3、编写按钮单击事件:作业 设计如下图所示的Windows应用程序:

    注意事项

    本文(最新图形图像处理基础ppt课件.ppt)为本站会员(豆****)主动上传,淘文阁 - 分享文档赚钱的网站仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知淘文阁 - 分享文档赚钱的网站(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于淘文阁 - 版权申诉 - 用户使用规则 - 积分规则 - 联系我们

    本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

    工信部备案号:黑ICP备15003705号 © 2020-2023 www.taowenge.com 淘文阁 

    收起
    展开