C#----Graphics中部分方法的使用和理解

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

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

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

C#----Graphics中部分方法的使用和理解

代码:

            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参数来呈现。

呈现:

C#----Graphics中部分方法的使用和理解

代码:

            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[],点的集合。

呈现:

C#----Graphics中部分方法的使用和理解

代码:

            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,决定椭圆的矩形。

呈现:

C#----Graphics中部分方法的使用和理解

代码:

            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中部分方法的使用和理解

上一篇:Objective-C实现常用的4种排序算法


下一篇:Nlog、Log4Net 的一个小扩展(增加自定义LEVEL)