如何:设置钢笔的宽度和对齐方式
创建 Pen 时,可将笔宽度作为参数之一提供给构造函数。 还可以使用 Pen 类的 Width 属性更改笔宽度。
理论线的宽度为 0。 绘制宽度为 1 个像素的线时,像素以理论线为中心。 如果绘制的线宽度超过 1 个像素,则像素要么以理论线为中心,要么显示在理论线的一侧。 可设置 Pen 的笔对齐属性来确定使用该笔绘制的像素将如何相对于理论线定位。
以下代码示例中出现的值 Center、Outset 和 Inset 是 PenAlignment 枚举的成员。
下面的代码示例绘制线两次:一次用宽度为 1 的黑色笔,一次用宽度为 10 的绿色笔。
改变笔的宽度
将 Alignment 属性的值设置为 Center(默认值)以指定用绿色笔绘制的像素将以理论线为中心。 下图显示了生成的线。
下面的代码示例绘制矩形两次:一次用宽度为 1 的黑色笔,一次用宽度为 10 的绿色笔。
Pen blackPen = new Pen(Color.FromArgb(255, 0, 0, 0), 1); Pen greenPen = new Pen(Color.FromArgb(255, 0, 255, 0), 10); greenPen.Alignment = PenAlignment.Center; // Draw the line with the wide green pen. e.Graphics.DrawLine(greenPen, 10, 100, 100, 50); // Draw the line with the thin black pen. e.Graphics.DrawLine(blackPen, 10, 100, 100, 50);
Dim blackPen As New Pen(Color.FromArgb(255, 0, 0, 0), 1) Dim greenPen As New Pen(Color.FromArgb(255, 0, 255, 0), 10) greenPen.Alignment = PenAlignment.Center ' Draw the line with the wide green pen. e.Graphics.DrawLine(greenPen, 10, 100, 100, 50) ' Draw the line with the thin black pen. e.Graphics.DrawLine(blackPen, 10, 100, 100, 50)
更改笔的对齐方式
将 Alignment 属性的值设置为 Center 以指定用绿色笔绘制的像素将以矩形边界为中心。
下图显示了生成的矩形:
Pen blackPen = new Pen(Color.FromArgb(255, 0, 0, 0), 1); Pen greenPen = new Pen(Color.FromArgb(255, 0, 255, 0), 10); greenPen.Alignment = PenAlignment.Center; // Draw the rectangle with the wide green pen. e.Graphics.DrawRectangle(greenPen, 10, 100, 50, 50); // Draw the rectangle with the thin black pen. e.Graphics.DrawRectangle(blackPen, 10, 100, 50, 50);
Dim blackPen As New Pen(Color.FromArgb(255, 0, 0, 0), 1) Dim greenPen As New Pen(Color.FromArgb(255, 0, 255, 0), 10) greenPen.Alignment = PenAlignment.Center ' Draw the rectangle with the wide green pen. e.Graphics.DrawRectangle(greenPen, 10, 100, 50, 50) ' Draw the rectangle with the thin black pen. e.Graphics.DrawRectangle(blackPen, 10, 100, 50, 50)
创建内嵌笔
通过修改前面代码示例中的第三个语句来更改绿色笔的对齐方式,如下所示:
greenPen.Alignment = PenAlignment.Inset;
greenPen.Alignment = PenAlignment.Inset
现在,宽绿色线中的像素显示在矩形内部,如下图所示: