ImageVerifierCode 换一换
格式:DOCX , 页数:34 ,大小:31.17KB ,
资源ID:17548514      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/17548514.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(C#GDI+图形绘制Word文档下载推荐.docx)为本站会员(b****3)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

C#GDI+图形绘制Word文档下载推荐.docx

1、Color red = Color.FromArgb(255, 0, 0);Color green = Color.FromArgb(0, 255, 0);Color blue = Color.FromArgb(0, 0, 255);获取系统定义的颜色使用FromArgb()构造颜色是一种非常灵活的技巧,因为它表示我们可以指定人眼能辨识出的任何颜色。但是,如果要得到一种简单、标准、众所周知的纯色,例如红色或蓝色,命名想要的颜色是比较简单的。因此Microsoft还在Color中提供了许多静态属性,每个属性都返回一种命名的颜色。在下面的示例中,把窗口的背景色设置为白色时,就使用了其中一种属性:

2、this.BackColor = Color.White; /与以下语句效果一样 / this.BackColor = Color.FromArgb(255, 255 , 255);8.1.2画笔和钢笔本节介绍Pen和Brush,在绘制图形时需要使用它们。Pen用于告诉graphics实例如何绘制线条。Brush如何填充区域。例如,Pen用于绘制矩形和椭圆的边框。如果需要把这些图形绘制为实心的,就要使用画笔指定如何填充它们。1画笔GDI+有几种不同类型的画笔。每种画笔都由一个派生自抽象类System.Drawing.Brush的类实例来表示。最简单的画笔为System.Drawing.Soli

3、dBrush。它是单色画笔,用于填充图形形状,如矩形、椭圆、扇形、多边形和封闭路径。Color customColor = Color.FromArgb(192,192,192); SolidBrush shadowBrush = new SolidBrush(customColor);或者 SolidBrush shadowBrush = new SolidBrush(Color.Gray);2与画笔不同,钢笔只用一个类System.Drawing.Pen来表示。但钢笔比画笔复杂一些,因为它需要指定线条应有多宽(像素),对于一条比较宽的线段,还要确定如何填充该线条中的区域。Pen solid

4、BluePen = new Pen(Color.FromArgb(0,0,255);Pen solidWideBluePen = new Pen(Color.Blue, 4);8.2绘图所用到的结构GDI+使用几个类似的结构来表示坐标或区域。下面介绍几个结构,它们都是在System.Drawing命名空间中定义的,如表8.1所示。表-1 Point、Size及Rectangle结构结构主要的公共属性PointX,YPointFSizeWidth, HeightSizeFRectangleLeft, Right , Top, Bottom, Width, Height, X, Y, Locati

5、on, SizeRectangleF8.2.1 Point和PointF结构表示图像的一点,从概念上讲,Point在这些结构中是最简单的,在数学上,它完全等价于一个二维矢量。我们可以创建一个Point结构:Point b = new Point(20, 10);X和Y都是读写属性,也可以在Point中设置这些值:Point a = new Point();a.X = 20;b.Y = 10;PointF与Point完全相同,但X和Y属性的类型是float,而不是int。PointF用于坐标不是整数值的情况。注意,可以把Point隐式转换为PointF,但要把PointF转换为Point,必须显

6、式地复制值,或使用下面的3个转换方法Round()、Truncate()和Ceiling()。 Point b = new Point(); b.X = (int)abFloat.X; b.Y = (int)abFloat.Y;/ Point隐式转换为PointF bFloat1 = ab;/ PointF显式转换为 Point b1 = Point.Round(bFloat); Point b2 = Point.Truncate(bFloat); Point b3 = Point.Ceiling(bFloat);8.2.2 Size和SizeF结构与Point和PointF一样,Size也有

7、两个属性。Size结构用于int类型,SizeF用于float类型,除此之外,Size和SizeF是完全相同的。下面主要讨论Size结构。在许多情况下,Size结构与Point结构是相同的,它也有两个整型属性,表示水平和垂直距离主要区别是这两个属性的名称不是X和Y,而是Width和Height。前面的图30-3可以表示为:Size ab = new Size(20,10);严格地讲,Size在数学上与Point表示的含义相同;但在概念上它使用的方式略有不同。Point用于说明实体在什么地方,而Size用于说明实体有多大。8.2.3 Rectangle和RectangleF结构这两个结构表示一个

8、矩形区域(通常在屏幕上)。与PointSize一样,这里只介绍Rectangle结构,RectangleF与Rectangle基本相同,但它的属性类型是float,而Rectangle的属性类型是int。Rectangle可以看作由一个Point和一个Size组成,其中Point表示矩形的左上角,Size表示其大小。它的一个构造函数把PointSize作为其参数Point topLeft = new Point(0,0);Size howBig = new Size(50,50);Rectangle rectangleArea = new Rectangle(topLeft, howBig);

9、8.3绘制图形和线条System.Drawing.Graphics有很多方法,利用这些方法可以绘制各种线条、空心图形和实心图形。表8.2所示的列表并不完整,但给出了主要的方法。本书只讲解对直线、空实心矩形及椭圆进行绘制,其它图形的绘制感兴趣的同学可以查阅MSDN。绘制图形的基本方法方法常见参数绘制的图形DrawLine钢笔、起点和终点一段直线DrawRectangle钢笔、位置和大小空心矩形DrawEllipse空心椭圆FillRectangle画笔、位置和大小实心矩形FillEllipse实心椭圆DrawLines钢笔、点数组一组线,把数组中的每个点按顺序连接起来DrawBezier钢笔、4

10、个点通过两个端点的一条光滑曲线,剩余的两个点用于控制曲线的形状DrawCurve通过点的一条光滑曲线DrawArc钢笔、矩形、两个角由角度定义的矩形中圆的一部分DrawClosedCurve与DrawCurve一样,但还要绘制一条用以闭合曲线的直线DrawPie矩形中的空心楔形FillPie画笔、矩形、两个角矩形中的实心楔形DrawPolygon与DrawLines一样,但还要连接第一点和最后一点,以闭合绘制的图形8.3.1画直线(1)绘制一条连接两个Point结构的线,public void DrawLine (Penpen,start,endpen,它确定线条的颜色、宽度和样式。start

11、,Point结构,它表示要连接的第一个点。end,Point结构,它表示要连接的第二个点。下面代码绘制如图8.1所示的直线,其颜色分别为黑、红、黄及指定的RGB值,宽度分别为3,5,7,9。 Graphics g = this.CreateGraphics();/创建不同颜色及精细的画笔 Pen blackPen = new Pen(Color.Black, 3); Pen redPen = new Pen(Color.Red, 5); Pen yellowPen = new Pen(Color.Yellow, 7); Pen mypen = new Pen(Color.FromArgb(16

12、7, 234, 89), 9);/绘制黑线 Point start1 = new Point(100, 100); Point end1 = new Point(200, 200); g.DrawLine(blackPen, start1, end1); /绘制红线 Point start2 = new Point(200, 100); Point end2 = new Point(300, 200); g.DrawLine(redPen, start2, end2);/绘制黄线 Point start3 = new Point(300, 100); Point end3 = new Poin

13、t(400, 200); g.DrawLine(yellowPen, start3, end3);/绘制RGB为(167, 234, 89)的直线 Point start4 = new Point(400, 100); Point end4 = new Point(500, 200); g.DrawLine(mypen, start4, end4);图直线(2)虚线的DashStyle属性,可以绘制虚线。格式为 myPen.DashStlyle=DashStyle.类型下面的示例绘制如图8.2所示的虚线,其虚线类型分别为:Dash, Dot, DashDot, DashDotDot。 blac

14、kPen.DashStyle = DashStyle.Dash; redPen.DashStyle = DashStyle.Dot; yellowPen.DashStyle = DashStyle.DashDot; mypen.DashStyle = DashStyle.DashDotDot; / Create points that define line. Point start4 = new Point(400, 100);虚线(3)直线端点以使用对象的属性为直线设置更多特性。StartCap属性和EndCap属性指定直线端点的外观;端点可以是平的、方形的、圆形的、三角形的或自定义的形状

15、。LineJoin属性用于指定连接的线相互间是斜接的(联接时形成锐角)、斜切的、圆形的还是截断的。下面的代码绘制如图8.3所示带端点的直线 blackPen.StartCap =LineCap.Flat; blackPen.EndCap = LineCap.ArrowAnchor; redPen.StartCap = LineCap.DiamondAnchor; redPen.EndCap = LineCap.RoundAnchor; yellowPen.EndCap = LineCap.SquareAnchor; mypen.EndCap = LineCap.Triangle;Point e

16、nd2 = new Point(300, 200);图8.3带端点的直线8.3.2画空心矩形绘制由Rectangle结构指定的矩形public void DrawRectangle (rectpen,Pen,它确定矩形的颜色、宽度和样式。rect,表示要绘制的矩形的结构。下面代码分别绘制如图8.4所示的矩形,Graphics g = this.CreateGraphics(); /blackPen.DashStyle = DashStyle.Dash;建立矩形. Rectangle rect = new Rectangle(100, 100, 200, 200);绘制黑色矩形g.DrawRec

17、tangle(blackPen, rect);/设置矩形虚线的类型 redPen.DashStyle = DashStyle.Dash; Rectangle rectred = new Rectangle(320,100, 200,200);绘制红色矩形 g.DrawRectangle(redPen, rectred);图8.4矩形8.3.3画实心矩阵填充结构指定的矩形的部格式:public void FillRectangle (Brushbrush,brush,确定填充特性的Brush。,Rectangle结构,它表示要填充的矩形。下面代码绘制如图8.5所示的实心矩形/建立黑色画笔Soli

18、dBrush blackBrush = new SolidBrush(Color.Black);构建矩形对象.画黑实心矩形. g.FillRectangle(blackBrush, rect);/建立灰色画笔SolidBrush grayBrush = new SolidBrush(Color.Gray); Rectangle rectgray= new Rectangle(320, 100, 200, 200); g.FillRectangle(grayBrush,rectgray);8.5实形矩形8.3.4画空心椭圆public void DrawEllipse (下面代码绘制如图8.6所

19、示的空心椭圆 /构建矩形对象. Rectangle rect = new Rectangle(100, 100, 200, 100);画空心空心椭圆. g.DrawEllipse(blackPen, rect); Rectangle rectgray = new Rectangle(320, 100, 200, 100);/建立灰色画笔 Pen grayPen = new Pen(Color.Gray, 5);/指定虚线类型 grayPen.DashStyle = DashStyle.DashDotDot; /绘制虚线椭圆 g.DrawEllipse(grayPen, rectgray);8.68.3.5绘制弧线弧线是椭圆的一部分。若要绘制弧线,可调用Graphics类的DrawArc方法。除了需要有起始角度和仰角以外,DrawEllipse方法的参数与方法的参数相同。public void DrawArc (RectangleFrect,

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1