基本图形的绘制和填充:
1、函数说明(引用自msdn)
DrawArc 已重载。 绘制一段弧线,它表示由一对坐标、宽度和高度指定的椭圆部分。
DrawBezier 已重载。 绘制由 4 个 Point 结构定义的贝塞尔样条。
DrawBeziers 已重载。 用 Point 结构数组绘制一系列贝塞尔样条。
DrawClosedCurve 已重载。 绘制由 Point 结构的数组定义的闭合基数样条。
DrawCurve 已重载。 绘制经过一组指定的 Point 结构的基数样条。
DrawEllipse 已重载。 绘制一个由边框(该边框由一对坐标、高度和宽度指定)定义的椭圆。
DrawIcon 已重载。 在指定坐标处绘制由指定的 Icon 表示的图像。
DrawIconUnstretched 绘制指定的 Icon 表示的图像,而不缩放该图像。
DrawImage 已重载。 在指定位置并且按原始大小绘制指定的 Image。
DrawImageUnscaled 已重载。 在由坐标对指定的位置,使用图像的原始物理大小绘制指定的图像。
DrawImageUnscaledAndClipped 在不进行缩放的情况下绘制指定的图像,并在需要时剪辑该图像以适合指定的矩形。
DrawLine 已重载。 绘制一条连接由坐标对指定的两个点的线条。
DrawLines 已重载。 绘制一系列连接一组 Point 结构的线段。
DrawPath 绘制 GraphicsPath。
DrawPie 已重载。 绘制一个扇形,该形状由一个坐标对、宽度、高度以及两条射线所指定的椭圆定义。
DrawPolygon 已重载。 绘制由一组 Point 结构定义的多边形。
DrawRectangle 已重载。 绘制由坐标对、宽度和高度指定的矩形。
DrawRectangles 已重载。 绘制一系列由 Rectangle 结构指定的矩形。
DrawString 已重载。 在指定位置并且用指定的 Brush 和 Font 对象绘制指定的文本字符串。
2、实例
(1)DrawBezier
小知识:什么是贝塞尔曲线?
贝塞尔曲线就是这样的一条曲线,它是依据四个位置任意的点坐标绘制出的一条光滑曲线。在历史上,研究贝塞尔曲线的人最初是按照已知曲线参数方程来确定四个点的思路设计出这种矢量曲线绘制法。贝塞尔曲线的有趣之处更在于它的“皮筋效应”~也就是说,随着点有规律地移动,曲线将产生皮筋伸引一样的变换,带来视觉上的冲击。1962年,法国数学家Pierre Bézier第一个研究了这种矢量绘制曲线的方法,并给出了详细的计算公式,因此按照这样的公式绘制出来的曲线就用他的姓氏来命名~是为贝塞尔曲线。
在下面的例子,点击按钮调用DrawBezierPoint函数在屏幕上绘制一条贝塞尔曲线
public void DrawBezierPoint(Graphics g)
{
// 创建一个黑色画笔
Pen blackPen = new Pen(Color.Black, 3);
// 四个点
Point start = new Point(100, 100);
Point control1 = new Point(200, 10);
Point control2 = new Point(350, 50);
Point end = new Point(500, 100);
// 绘制曲线到屏幕
g.DrawBezier(blackPen, start, control1, control2, end);
}
private void button2_Click(object sender, EventArgs e)
{
Graphics g = this.CreateGraphics();
DrawBezierPoint(g);
}
(2)DrawString
下面的例子实现了在一个button上绘制文字,首先获得Graphics对象,设置生成字体的风格,字号和画刷的颜色,然后调用DrawString在按钮上绘制文字。
private void button1_Click(object sender, EventArgs e)
{
Graphics gc = ((Button)sender).CreateGraphics();
string str = "就是你啦";
FontFamily ff=new FontFamily("宋体");
Font font=new Font(ff,24);
SolidBrush sb=new SolidBrush(Color.Blue);
gc.DrawString(str,font,sb,new PointF(0,0));
//注意未安装字体时,发生异常
}