1、DrawArc(Pen, Rectangle, Single, Single)

说明:绘制一段弧线,弧线是椭圆的一部分,椭圆是矩形Rectangle的内切椭圆。

参数:Pen是画弧线使用的画笔;Rectangle是椭圆所在的矩形;第一个Single决定了弧线的起点,矩形有一个中心,中心点向右为X轴正方向,中心向下为Y轴的正方向,从中心点画椭圆,以X轴正方向开始,第一个Single为顺时针转动的角度度数,转动结束后停留的点就是弧线的起始点,第二个Single决定了结束点。呈现图形如下:

代码:

            Graphics g = splitContainer3.Panel1.CreateGraphics();
Pen p = new Pen(Color.Blue);//画笔
p.DashStyle = DashStyle.Solid;
p.Width = 1;
Rectangle r=new Rectangle(new Point(40, 40), new Size(30, 60));//矩形
g.DrawCurve(new Pen(Color.Red,5), new Point[] {new Point(54,70),new Point(55,71)});//显示中心点
g.DrawRectangle(new Pen(Color.Black),r);//显示矩形边界
g.DrawArc(p, r, 0, 80);//显示弧线

2、DrawBezier(Pen, Point, Point, Point, Point)

说明:绘制贝塞尔样条,贝塞尔样条是由4个点来决定的,用Pen参数来呈现。

呈现:

代码:

            Graphics g = splitContainer3.Panel1.CreateGraphics();
Pen p = new Pen(Color.Blue);//画笔
p.DashStyle = DashStyle.Solid;
p.Width = 1; g.DrawBezier(p, new Point(40, 40), new Point(60, 60), new Point(790, 120), new Point(90, 90));//画出样条

3、DrawCurve(Pen,Point[])

说明:画基数样条,基数样条由多个点决定其形状,由参数Pen来呈现。

参数:Pen,画线条的画笔,Point[],点的集合。

呈现:

代码:

            Graphics g = splitContainer2.Panel1.CreateGraphics();
Pen p = new Pen(Color.Blue);
p.DashStyle = DashStyle.Solid;
p.Width = 2;
g.DrawCurve(p, new Point[] { new Point(50, 50), new Point(50, 80),new Point(180,80) });//画基数样条

4、DrawEllipse(Pen, Rectangle)

说明:画矩形的内切椭圆。因为是内切的,所以矩形的形状就决定了椭圆的形状。

参数:Pen,使用的画笔;Rectangle,决定椭圆的矩形。

呈现:

代码:

            Graphics g = splitContainer3.Panel1.CreateGraphics();
Pen p = new Pen(Color.Blue);//画笔
p.DashStyle = DashStyle.Solid;
p.Width = 1;
Rectangle r = new Rectangle(new Point(40, 40), new Size(30, 60));//矩形
g.DrawRectangle(p,r);//呈现矩形
g.DrawEllipse(p, r);//呈现矩形的内切椭圆

5、DrawIcon(Icon, Rectangle)

说明:把一个图标画在一个矩形中,图标会随着矩形的变化而压缩或者拉伸

参数:Icon,表示图标的对象,Rectangle表示矩形

呈现:

6、DrawImage(Image, Point)

说明:在点处画一个Image图片,图片的大小是原来的物理大小

参数:Image,准备的图片,Point表示点

呈现:

C#----Graphics中部分方法的使用和理解的更多相关文章

  1. Java - 记录String中intern()方法的学习与理解

    intern()方法:把堆中的引用丢入常量池中,然后返回这个引用.当常量池中已经存在这个引用,就直接返回这个引用.(jdk1.8) 由于jdk1.7中将字符串常量池改为存放在堆中,因此intern() ...

  2. Delphi 中调用JS文件中的方法

    unit Unit1; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms ...

  3. 戏说 .NET GDI+系列学习教程(二、Graphics类的方法)

    一.DrawBezier 画立体的贝尔塞曲线 private void frmGraphics_Paint(object sender, PaintEventArgs e) { Graphics g ...

  4. category中重写方法?

    问:可以在category中重写方法吗? 答:代码上可以实现 在category中重写方法,但在实际开发中,不建议这样做.如果确实需要重写原有方法也建议使用子类进行重写. category是为了更方便 ...

  5. JQuery中$.ajax()方法参数详解 及 async属性说明

    url: 要求为String类型的参数,(默认为当前页地址)发送请求的地址. type: 要求为String类型的参数,请求方式(post或get)默认为get.注意其他http请求方法,例如put和 ...

  6. jQuery中eq()方法用法实例

    本文实例讲述了jQuery中eq()方法用法.分享给大家供大家参考.具体分析如下: 此方法能够获取匹配元素集上的相应位置索引的元素. 匹配元素集上元素的位置索引是从0开始的. 语法结构: 复制代码 代 ...

  7. Java中,方法的重写、重载的区别,以及多态的实例

    首先我们要明白什么是重写和重载 重写(override):子类方法覆盖了父类的方法.    (类与类之间继承的关系) 例:父类代码 public class Deng { public void Qi ...

  8. 深度理解Jquery 中 offset() 方法

    参考原文:深度理解Jquery 中 offset() 方法

  9. 第6章 Java类中的方法

    1.如何定义java的方法 什么是方法:方法使用来解决一类问题的代码集合,是一个功能模块在类中定义个方法的方法是: 访问修饰符 返回值类型 方法名(参数列表){ 方法体 } 1.访问修饰符,是限制该方 ...

随机推荐

  1. AsyncTask异步任务类使用学习

    new MyAsyncTask() .execute("http://pic.baike.soso.com/p/20120716/bki-20120716095331-640956396.j ...

  2. asp.net捕获全局未处理异常的几种方法

    通过HttpModule来捕获未处理的异常[推荐] 首先需要定义一个HttpModule,并监听未处理异常,代码如下: public void Init(HttpApplication context ...

  3. 网络流 POJ2112

    题意:K个产奶机,C头奶牛,每个产奶机最多可供M头奶牛使用:并告诉了产奶机.奶牛之间的两两距离Dij(0<=i,j<K+C). 问题:如何安排使得在任何一头奶牛都有自己产奶机的条件下,奶牛 ...

  4. 从CIO、CEO、CFO、COO...到CVO 这22个你了解几个? (史上最完整版)

    1.CEO:是Chief Executive Officer的缩写,即首席执行官. 由于市场风云变幻,决策的速度和执行的力度比以往任何时候都更加重要.传统的“董事会决策.经理层执行”的公司体制已经难以 ...

  5. asp.net使用signalr实现集群集群下面的消息推送

    1.选用Signalr的原因 Signalr内部给我们做了很多封装.当服务器或者浏览器不支持websoket协议的时候就使用长连接方式  不支持长连接再选用轮询的方式获取消息 websoket:与服务 ...

  6. BZOJ1040 [ZJOI2008]骑士

    Description Z国的骑士团是一个很有势力的组织,帮会中汇聚了来自各地的精英.他们劫富济贫,惩恶扬善,受到社会各 界的赞扬.最近发生了一件可怕的事情,邪恶的Y国发动了一场针对Z国的侵略战争.战 ...

  7. Jenkins环境拓扑及部署流程

    环境拓扑图: 部署流程:

  8. Bzoj1449 [JSOI2009]球队收益

    Time Limit: 5 Sec  Memory Limit: 64 MBSubmit: 741  Solved: 423 Description Input Output 一个整数表示联盟里所有球 ...

  9. python面向对象基础

    面向对象基础 1. 简述 编程方式: 面向过程: 根据代码在脚本的堆叠顺序,从上到下依次执行 函数式编程:将相同功能的代码封装到函数中,直接调用即可,减少代码重复性 面向对象:对函数进行分类和封装,将 ...

  10. TypeScript Modules(模块)

    本文概述了TypeScript中如何使用模块以各种方式来组织代码.我们将涵括内部和外部的模块,并且讨论他们在适合在何时使用和怎么使用.我们也会学习一些如何使用外部模块的高级技巧,并且解决一些当我们使用 ...