《C#图形图像编程基础(YANFENG-PC的冲突版本)》.ppt

《C#图形图像编程基础(YANFENG-PC的冲突版本)》.ppt

  1. 1、本文档共36页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第7章 C#图形图像编程基础 本章主要介绍使用C#进行图形图像编程基础,其中包括GDI+绘图基础、C#图像处理基础以及简单的图像处理技术。 7.1 GDI+绘图基础 7.2 C#图像处理基础 7.1 GDI+绘图基础 编写图形程序时需要使用GDI(Graphics Device Interface,图形设备接口),从程序设计的角度看,GDI包括两部分:一部分是GDI对象,另一部分是GDI函数。GDI对象定义了GDI函数使用的工具和环境变量,而GDI函数使用GDI对象绘制各种图形,在C#中,进行图形程序编写时用到的是GDI+(Graphics Device Interface Plus)版本,GDI+是GDI的进一步扩展,它使编程更加方便。 7.1.1 GDI+概述 GDI+是微软在Windows 2000以后操作系统中提供的新的图形设备接口,其通过一套部署为托管代码的类来展现,这套类被称为GDI+的“托管类接口”,GDI+主要提供了以下三类服务:(1)二维矢量图形:GDI+提供了存储图形基元自身信息的类(或结构体)、存储图形基元绘制方式信息的类以及实际进行绘制的类。 (2)图像处理:大多数图片都难以划定为直线和曲线的集合,无法使用二维矢量图形方式进行处理。因此,GDI+为我们提供了Bitmap、Image等类,它们可用于显示、操作和保存BMP、JPG、GIF等图像格式。 (3)文字显示:GDI+支持使用各种字体、字号和样式来显示文本。 7.1.2 Graphics类 Graphics类封装了一个GDI+绘图图面,提供将对象绘制到显示到设备的方法。 绘图程序的一般步骤: (1)创建Graphics对象 (2)使用Graphics对象的方法绘图、显示文本或处理图像。 通常用三种方法创建Graphics对象: 方法一 //窗体的Paint事件的响应方法 private void form1_Paint(object sender, PaintEventArgs e) { Graphics g = e.Graphics; } 也可以重载窗体的OnPaint方法 protected override void OnPaint(PaintEventArgs e) { Graphics g=e.Graphics; } 方法二 调用控件或窗体的CreateGraphics方法。 例如: Graphics g = this.CreateGraphics(); 注意:此时以this所代表的窗体为画布,也可以使用其他控件对象的引用,创建以控件对象为画布的Graphics对象。 方法三 //建立Image对象,名为“g1.jpg”的图片位于当前路径下 Image img = Image.FromFile(g1.jpg); //创建Graphics对象 Graphics g = Graphics.FromImage(img); 注意:此时以文件“g1.jpg”为画布,使用g进行绘制图形时,其图形是绘制在文件“g1.jpg” 上的。 7.1.3 常用画图对象 在创建了Graphics对象后,就可以用它开始绘图了,可以画线、填充图形、显示文本等等,其中主要用到的对象还有: Pen:定义用于绘制直线和曲线的对象。 Color:表示 ARGB 颜色。 Font:定义特定的文本格式,包括字体、字号和字形属性。 Brush:定义用于填充图形形状(如矩形、椭圆、饼形、多边形和封闭路径)的内部的对象。 Rectangle:存储一组整数,共四个,表示一个矩形的位置和大小 。 Point:表示在二维平面中定义点的、整数 X 和 Y 坐标的有序对 。 注意:各个对象的构造函数。 Color对象 在自然界中,颜色大都由透明度(A)和三基色(R,G,B)所组成。在GDI+中,通过Color结构封装对颜色的定义,Color结构中,除了提供(A,R,G,B)以外,还提供许多系统定义的颜色,如Pink(粉颜色),另外,还提供许多静态成员,用于对颜色进行操作。 Color red = Color.FromArgb(255, 0, 0); Color red = Color.FromArgb(120, 255, 0, 0)); 7.1.4 基本图形绘制举例 1.画一个矩形 protected override void OnPaint(PaintEventArgs e) { Graphics g=e.Graphics; Rectangle rect=new Rect

文档评论(0)

ghfa + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档