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. 链队列的C/C++实现

    #include <iostream> using namespace std; const int N = 10; typedef int ELEMTYPE; typedef struc ...

  2. Ubuntu14.04下安装Hadoop2.4.0 (单机模式)

    一.在Ubuntu下创建hadoop组和hadoop用户 增加hadoop用户组,同时在该组里增加hadoop用户,后续在涉及到hadoop操作时,我们使用该用户. 1.创建hadoop用户组 2.创 ...

  3. 【日常笔记】java文件下载返回数据流形式

    @RequestMapping("/downloadFile") @ResponseBody public void download(String uploadPathUrl, ...

  4. 作业4.5-2用for循环打印菱形

    package lx; public class lx { public static void main(String[] args) { for(int i = 1;i <= 10 ;i++ ...

  5. ES6 变量的解构赋值

    数组的解构赋值     var [a,b,c] = [1,2,3];    左边是变量,右边是值,根据数据结构一一对应 只要等号两边的模式相同,左边的变量就会被赋予右边对应的值,必须模式相同 如果等号 ...

  6. CMY/CMYK 打印机色彩

    CMY 发光物体和反光物体产生颜色的机制不同. 前者指光源光, 它的颜色由发光波长决定. 后者指不能发光但却能表现出颜色的物体, 例如色素. 色素的颜色由它不能吸收的光的波长决定. 比如红色色素, 除 ...

  7. 北京Java培训机构哪个好

    又是一年暑期生活的来临,对于即将走出校园的实习生而言,培训潮与就业潮不约而至,培训行业的就业课程开班也如火如荼地进行着. 一直以来,计算机专业的毕业生都会作为一股庞大的生力军涌入社会各个岗位.就目前的 ...

  8. 【POJ 2826】An Easy Problem?!(几何、线段)

    两个木条装雨水能装多少. 两线段相交,且不遮盖的情况下才可能装到水. 求出交点,再取两线段的较高端点的较小值h,(h-交点的y)为三角形的高. 三角形的宽即为(h带入两条线段所在直线得到的横坐标的差值 ...

  9. Numpy 用法小结

    1.  asarray 函数 可以将输入数据转化为矩阵格式. 输入数据可以是(列表,元组,列表的列表,元组的元组,元组的列表等这些数组形式). >>> asarray([(1,2,3 ...

  10. BZOJ 1113: [Poi2008]海报PLA

    1113: [Poi2008]海报PLA Time Limit: 10 Sec  Memory Limit: 162 MBSubmit: 1025  Solved: 679[Submit][Statu ...