此系列的文章,是公司的学习资料中找到,不知道是哪位仁兄总结,作为入门教程,拿出来分享。实例都比较简单,不多说,直接贴代码,并会适当加些注释:
private void btn_Draw_Click(object sender, EventArgs e)
{
Graphics g = this.CreateGraphics();
g.SmoothingMode = SmoothingMode.AntiAlias;
g.FillRectangle(Brushes.Wheat, this.ClientRectangle);
Pen p = new Pen(Color.Red, 10);
p.LineJoin = LineJoin.Bevel;
g.DrawRectangle(p, 20, 20, 100, 100);
Pen p1 = new Pen(Color.Red, 10);
p1.LineJoin = LineJoin.Miter;
g.DrawRectangle(p1, 20, 120, 200, 200);
Pen p2 = new Pen(Color.Red, 10);
p2.LineJoin = LineJoin.MiterClipped;
g.DrawRectangle(p2, 20, 210, 100, 320);
Pen p3 = new Pen(Color.Red, 10);
p3.LineJoin = LineJoin.Round;
g.DrawRectangle(p3, 120, 20, 120, 100);
p.Dispose();
g.Dispose();
}
运行结果:
说明:
1. g.SmoothingMode = SmoothingMode.AntiAlias;
SmoothingMode指定是否将平滑处理(消除锯齿)应用于直线、曲线和已填充区域的边缘。
Invalid 指定一个无效模式。
Default 指定不消除锯齿。
HighSpeed 指定高速度、低质量呈现。
HighQuality 指定高质量、低速度呈现。
None 指定不消除锯齿。
AntiAlias 指定消除锯齿的呈现。
2. LineJoin设置两条连续线段的连接样式
Miter 指定斜联接。这将产生一个锐角或切除角,具体取决于斜联接的长度是否超过斜联接限制。
Bevel 指定成斜角的联接。这将产生一个斜角。
Round 指定圆形联接。这将在两条线之间产生平滑的圆弧。
MiterClipped 指定斜联接。这将产生一个锐角或斜角,具体取决于斜联接的长度是否超过斜联接限制。
点评:
此事例较为简单,就是使用画笔、坐标,通过graphics画出几个矩形而已。在这里注意画笔(Pen)概念的引入,然后就是LineJoin和SmoothingMode两个枚举类型。