- 1、本文档共28页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
本章学习目标 了解GDI+图形设备接口 掌握常用的GDI+图形绘制 掌握图像的绘制方法 掌握图形编程方法 Windows CE Embedded System Development 第3章 屏幕图形图像应用开发 3.1 基于GDI屏幕绘图 3.1.1 GDI+简介 GDI+:Graphics Device Interface Plus也就是图形设备接口,它提供了各种丰富的图形图像处理功能,在Windows CE系统中,它充当应用程序和硬件设备之间的中间层,封装与硬件交互所需的低级API,这些API函数可用于绘制图形和文本。 在.NET Compact Framework中,GDI+通过一套部署为托管代码的类来展现,这套类被称为GDI+的“托管类接口”,GDI+主要提供了以下三类服务: 二维矢量图形:GDI+提供了存储图形基元自身信息的类(或结构体)、存储图形基元绘制方式信息的类以及实际进行绘制的类。 图像处理:大多数图片都难以划定为直线和曲线的集合,无法使用二维矢量图形方式进行处理。因此,GDI+为我们提供了Bitmap、Image等类,它们可用于显示、操作和保存BMP、JPG、GIF等图像格式。 文字显示:GDI+支持使用各种字体、字号和样式来显示文本。 我们要进行图形编程,就必须了解Graphics类,同时我们还必须掌握Pen、Brush和Rectangle等这几种类。 3.1.2 设备绘图表面 在嵌入式设备上使用GDI+进行绘图时,得到的图形可以放在两种目标环境中,一种是屏幕上窗口,另一种是内存中的位图。每一个环境都有一个绘图表面,而绘图表面包括两种,矢量表面和光栅表面。 1、矢量表面 2、光栅表面 在矢量表面上,图元是用一种实体表示的,该实体具有特定的坐标、方向、大小等属性。 在光栅表面上,图元是一组着了色的像素集合 。 3、使用Graphics类创建绘图表面 在GDI+中可以利用Graphics类创建一个与目标环境相关的绘图表面,即产生对应的Graphics对象,Graphics对象与特定的设备上下文关联,并提供绘制图形图像到显示设备的方法,这样就可以在该表面上进行图形组件的绘制。 有四种方法可以创建Graphics对象,分别如下: (1) Graphics.FromHdc方法 该方法用于从一个设备环境句柄中创建一个绘图表面,在编程中用这种方法创建绘图表面可以将GDI+中托管对象和非托管对象联系在一起。 (2) Graphics.FromImage方法 该方法用于从内存中的一个位图对象去创建绘图表面,这样在绘图表面上绘制的图形都将被保存在位图中。 例如: Bitmap m_bitmp=new Bitmap(@\My.bmp); Graphics g= Graphics.FormImage(m_bitmp); (3) 使用控件类的CreateGraphics方法 调用某控件或窗体的CreateGraphics方法以获取对Graphics对象的引用,该对象表示该控件或窗体的绘图图面 。 例如:Graphics g= this.CreateGraphics() (4) 在窗体或控件的Paint事件处理方法中创建Graphics对象 通过窗体或控件触发Paint事件,并在Paint事件中接收对图形对象的引用 。 例如:private void Form1_Paint(object sender,System. Windows.Forms.PaintEventArgs e) { Graphics g=e.Graphics; } 也可以直接重载控件或窗体的OnPaint方法,如下所示: protected override void OnPaint(PaintEventArgs e) { Graphics g = e.Graphics; } 3.1.3 绘图操作工具 在创建了Graphics对象后,就可以用它开始绘图了,如可以画线、填充图形、显示文本等等,其中主要用到的对象有:Pen、Brush、Color 、Font、 Point以及Rectangle 对象。 1、Pen类 Pen类用于绘制直线或曲线对象,通过它本身的属性能够绘制具有指定宽度和样式的直线。 例如:创建Pen对象的两种方法: Pen redPen=new Pen(Color.Red) Pen red
您可能关注的文档
- Web应用开发技术 教学课件 作者 宋先斌 何在玉 第03章.ppt
- Web应用开发技术 教学课件 作者 宋先斌 何在玉 第04章.ppt
- Web应用开发技术 教学课件 作者 宋先斌 何在玉 第05章.ppt
- Web应用开发技术 教学课件 作者 宋先斌 何在玉 第06章.ppt
- Web应用开发技术 教学课件 作者 宋先斌 何在玉 第07章.ppt
- Web应用开发技术 教学课件 作者 宋先斌 何在玉 第08章.ppt
- Web应用开发技术 教学课件 作者 宋先斌 何在玉 第09章.ppt
- Web应用开发技术 教学课件 作者 宋先斌 何在玉 第10章.ppt
- Web应用开发技术 教学课件 作者 宋先斌 何在玉 第11章.ppt
- Web应用开发技术 教学课件 作者 宋先斌 何在玉 第12章.ppt
文档评论(0)