电子文档交易市场
安卓APP | ios版本
电子文档交易市场
安卓APP | ios版本
换一换
首页 金锄头文库 > 资源分类 > PPT文档下载
分享到微信 分享到微博 分享到QQ空间

C#程序设计实用教程第09章

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

 
账号:
密码:
验证码:   换一换
  忘记密码?
    
1、金锄头文库是“C2C”交易模式,即卖家上传的文档直接由买家下载,本站只是中间服务平台,本站所有文档下载所得的收益全部归上传人(卖家)所有,作为网络服务商,若您的权利被侵害请及时联系右侧客服;
2、如你看到网页展示的文档有jinchutou.com水印,是因预览和防盗链等技术需要对部份页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有jinchutou.com水印标识,下载后原文更清晰;
3、所有的PPT和DOC文档都被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;下载前须认真查看,确认无误后再购买;
4、文档大部份都是可以预览的,金锄头文库作为内容存储提供商,无法对各卖家所售文档的真实性、完整性、准确性以及专业性等问题提供审核和保证,请慎重购买;
5、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据;
6、如果您还有什么不清楚的或需要我们协助,可以点击右侧栏的客服。
下载须知 | 常见问题汇总

C#程序设计实用教程第09章

第9章 GDI+,9.1 GDI+概述 GDI+是GDI(Graphics Device Interface,图形设备接口)的增强版本,它为Windows应用程序开发者提供了一组用于图形图像编程的类、结构和枚举。,9.2 C#的图形绘制结构和类 9.2.1 常用绘图结构 (1)Point与PointF结构 C#中定义的Point与PointF用来表示绘图平面上的一个点,与数学中平面上的点的含义相同,每个点有水平方向的x坐标及垂直方向的y坐标表示,其定义形式如下: (2)Size与SizeF结构 Size与SizeF结构使用Width及Height属性表示屏幕上的一个矩形区域的大小,例如: Size s1=new Size(400,300);/表示宽400,高300的矩形区域; (3)Rectangle与RectangleF结构 Rectangle与RectangleF结构定义一个矩形区域,它有两种实例化方式: Rectangle(Point p,Size s); Rectangle(x,y,width,height);,命名空间,使用C#进行图形编程,是通过使用GDI+ 提供的一组类、结构和枚举进行的。 使用GDI+常用的命名空间: System.Drawing System.Drawing.Drawing2D 提供高级的二维和矢量图形功能,4,GDI+提供的4种服务:,.NET Framework类库支持开发者完全地访问Windows GDI+。GDI+提供的服务大致可分为以下4种: GDI+提供了绘制简单图形和复杂图形的类。 GDI+允许开发者绘制各种字体的文本 GDI+允许开发者绘制位图和其他类型的图像。 GDI+提供图形变换功能,9.2.2 Graphics类,Syetem.Drawing命名空间中的Graphics类是绘图操作的核心,它封装了GDI+绘图界面,有3种基本类型的绘图界面,分别是: Windows和屏幕上的控件 要发送给打印机的页面 内存中的位图和图像,5,Grahpics类中常用的成员: DpiX/DpiY 返回图形设备水平/垂直分辨率 DrawArc DrawEllipse DrawImage DrawLine DrawPie,6,DrawPloygon DrawRectangle DrawString FillPie/FillPloygon/FillRectangle RotateTransform/ScaleTransform,要使用Graphics类执行绘图操作,首先要获得Graphics实例或创建Graphics实例. 3种方法: 1.通过windows窗体或控件的Paint事件来获的Graphics对象实例. Protected override void OnPaint(PaintEventArgs e) Graphics g=e. Graphics; ,2.使用Form类的CreateGraphics方法. Graphics g=this. CreateGraphics(); 注:该实例只在当前Windows窗体消息的过程有效.既在已经存在的窗体或控件中绘图,可用此种方法. 3.从继承自图像的任何对象创建Graphics对象. Bitmap images=new Bitmap(“1.bmp”); Graphics g= Graphics.FromImage(images);,9.2.3 Pen类。 在.NET框架中绘制图形要用到画笔,画笔用Pen类表示,在命名空间Syetem.Drawing中定义,用于绘制各种直线和曲线,在GDI+中,Pen类封装了画笔的功能。画笔具有颜色和线宽等基本属性。 Pen redPen = new Pen(Color.Red, 1); Pen bluePen = new Pen(Color.Blue, 2); Pen greenPen = new Pen(Color.Green, 3); Pen blackPen = new Pen(Color.Black, 4); 上述代码中定义了四个画笔实例,其中第一个参数为画笔颜色,第二个参数表示画笔的线宽。所以定义的是红、蓝绿、黑四种颜色,线宽为1、2、3、4的四种画笔。,9.2.4 Brush类及Brush的派生类 在.NET框架中绘制图形要用到画刷,画刷用Brush类表示,画刷是一种用来填充区域的工具。在GDI+中,Brush是抽象基类,封装了画刷的基本功能,不能直接用它来创建画刷对象实例,而其功能在其派生类中实现。 Brush类有以下几种派生类,对应定义了几种画刷: SolidBrush(单色画刷)类 TextureBrush(纹理画刷)类 HatchBrush(阴影画刷)类 LinearGradientBrush(线性渐变)类 PathGradientBrush(渐变色效果) 实例化画刷类,如: SolidBrush mySolidBrush=new SolidBrush(Color.Blsck);,9.2.5 Color类 颜色可以增强程序的表现力并有助于传递信息。在.NET框架中,使用值类型来表示一个RGB颜色(分别对应于Alpha值和红、绿、蓝三色)。在该类中提供了多种预定义的颜色,它们使用静态属性来表示。所以可以直接通过类名Color来引用,例如Color.Red表示红色。表9-1为常用的Color预定义颜色。,9.2.6 Font 类 窗体或控件对象中包含一个Font属性,表示窗体或控件的当前字体。创建窗体或控件时,这个属性会被系统赋予一个默认值。可以直接使用这个默认字体,也可以创建新的字体。 在GDI+中,字体使用Drawing.Font类来表示。通过创建这个类的一个新的实例可以创建新的字体。创建字体时,需要指定字体的名称、大小、和风格。如果未指定风格,则创建常规字体。在.NET框架中,字体风格使用FontStyle枚举类型表示。,9.3绘制图形 (1)绘制直线(DrawLine方法) 使用Graphics中定义的DrawLine方法绘制直线,在由坐标对指定的两个点之间绘制一条直线。 (2)绘制矩形(DrawRectangle、DrawRectangles) 只需要指定矩形的起始点、高和宽即可,当然,不要忘记选择笔型。用DrawRectangels可以画出一组矩形来 (3)绘制圆和椭圆(DrawEllipse) (4)绘制文本(DrawString) 利用DrawString方法可以在图形表面上绘制一个文本字符串,可以指定文本内容、字体、画笔和文本的起始点等 (5)绘制圆弧(DrawArc) 其实这里能够绘制的不仅仅是圆弧,也可以是椭圆的一段弧。,Graphics类的画笔(Pen)用于绘制图形的外边界,而画刷(Brush)用于填充图形的内部。Graphics可用的填充方法很有限,我们只能填充特定的图形。 (1)FillEllipse方法 填充一个椭圆的内部。用法和DrawEllipse类似,只是注意Pen要改成Brush。 例:g.FillEllipse(blueBrush, 40.0f, 40.0f, 130.0f, 130.0f ); (3)FillPath方法 填充图形路径的内部。同前面DrawPath一样,也是需要先建立GraphicsPath类,将路径add进去,随后再调用FillPath填充。 (4 )FillPie方法 填充扇形区域。Arc本来就只有一条曲线,也就不存在填充了。 例:g.FillPie(new SolidBrush(Color.Red), 0.0f, 0.0f, 100, 60, 0.0f, 90.0f);,9.4 填充填充图形及Clear方法,(5)FillPolygon方法 填充多边形。此方法使用的参数有三个:画笔、点数组和填充模式。 例:g.FillPolygon(greenBrush, ptsArray); (6)FillRectangle方法 填充矩形区域。 例:g.FillRectangle(new HatchBrush(HatchStyle.BackwardDiagonal, Color.Yellow, Color.Black), rect); (7)FillRegion方法 使用画笔填充指定的区域。 (8)Clear方法 清除整个绘图表面,并使用指定的背景色填充绘图表面,参数是一个Color类型的变量。清除窗体: g.Clear(this.BackColor); 传递该窗体的背景色;,9.5位图处理 在.NET框架中,使用Image类封装了基本的图像操作。该类是一个抽象基类,不能直接用其来创建对象实例。它有两个子类,分别是Bitmap和Metafile。 Bitmap类封装了GDI+位图(.bmp文件格式),可以使用这个类来操作位图。创建位图实例时,可以指定位图文件的路径。这样,新创建的对象就会自动装载入位图,然后即可调用Graphics类的DrawImage方法显示位图。代码如下所示: Bitmap bmp=new Bitmap(“aa.jpeg”); This.CreateGraphics().DrawImage(bmp,new Point(50,50); 可以在显示图像时执行缩放操作,例如将位图缩放到指定的大小,其实现代码如下: Bitmap bmp=new Bitmap(“aa.jpeg”); /在原点的位置上显示10*10大小的位图 This.CreateGraphics().DrawImage(bmp,0,0,50,50);,9.6坐标变换 在标是用来指明绘制图形对象的位置、大小、比例等特性的,在CDI+中,使用三个坐标空间:全局坐标、页面坐标和设备坐标。 全局坐标 程序代码使用的坐标。他是是一个相对坐标,没有单位。需要转化成绝对坐标,即定义单位后才能确定具体位置、长度等,如绘制长度为4的线段,对于相对坐标,则无法确定4到底是多长,只有定义单位后,如4毫米、4英寸、4个像素等,转化为绝对坐标后才能确定线段的长度。 页面坐标 虚拟的绘图平面使用的坐标,它是绝对坐标,可以设置坐标单位。 设备坐标 输出设备实际使用的坐标。 三种坐标系统默认情况下是重合的,坐标原点都是(0,0),都位于绘制图形区域的左上角。坐标轴方向水平方向向右为正,垂直向向下为正。当进行了坐标变换后,三个坐标系统就可能不重合了。,9.7 Paint事件,Paint事件的代理类型为paintEventHandler, 他所使用的事件参数类型为PaintEventArges. 每次显示,更改大小,移动,最大化,还原或露出窗口时都会执行窗体的Paint事件.在该事件中将重新绘制窗体及其控件.,Paint事件,Protected override void OnPaint(PaintEventArgs e) Graphics g=e. Graphics; ,例:时钟,1、指针类。 class Pointer protected Point ptStart; protected Point ptEnd; protected int length; protected Pen pen; / 无参的构造函数 public Pointer() this.ptStart = new Point(0, 0); this.ptEnd = new Point(0, 0); this.length = 0; this.pen = new Pen(Color.Red, 2); ,/ 有参数的构造函数 /ptStart:起点坐标 / ptEnd:终点坐标 /length:指针长度 /pen:画笔 public Pointer(Point ptStart, Point ptEnd, int length,Pen pen) this.ptStart = ptStart; this.ptEnd = ptEnd; this.length = len

注意事项

本文(C#程序设计实用教程第09章)为本站会员(梦**)主动上传,金锄头文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即阅读金锄头文库的“版权提示”【网址:https://www.jinchutou.com/h-59.html】,按提示上传提交保证函及证明材料,经审查核实后我们立即给予删除!

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




关于金锄头网 - 版权申诉 - 免责声明 - 诚邀英才 - 联系我们
手机版 | 川公网安备 51140202000112号 | 经营许可证(蜀ICP备13022795号)
©2008-2016 by Sichuan Goldhoe Inc. All Rights Reserved.