笔或画笔可以画点吗?

时间:2014-03-31 14:02:17

标签: c# winforms point brush pen

我知道我可以绘制一个圆圈,我可以使用图形绘制许多简单而复杂的东西。但我无法画出一个点(不是一个像素)。

我正在玩一个Paint程序,用户可以绘制得很好而不能绘制一个点。我可以添加一个非常接近的虚拟点,或者可以绘制一个填充的cirlce,但有时我会错过显而易见的。

有没有办法使用给定的画笔或笔绘制单个点?

不,当然我并不是要画一个像素。我想使用像颜色和宽度的属性。就像DrawLine只有一个Point或两次相同的Point。但这没有任何结果。

1 个答案:

答案 0 :(得分:1)

    public void DrawPoint(Graphics G, Pen pen, Point point)
    {
        // add more LineCaps as needed..
        int pw2 = (int ) Math.Max(1, pen.Width / 2);
        using(var brush = new SolidBrush(pen.Color))
        {
            if (pen.EndCap == LineCap.Square)
                G.FillRectangle(brush, point.X - pw2, point.Y - pw2, pen.Width, pen.Width);
            else
                G.FillEllipse(brush, point.X - pw2, point.Y - pw2, pen.Width, pen.Width);
        }
    }