我知道我可以画一个实心圆,我可以用 Graphics 画出许多简单和复杂的东西。但我无法让它画出一个点(不是一个像素)。
我正在玩一个画图程序,用户可以画得很好,但不能画一个点。我可以添加一个非常接近的虚拟点,或者可以画一个填充的圆圈,但有时我会错过明显的东西。
那么有没有办法用给定的 Brush 或 Pen 绘制一个点?
不,我当然不是要画一个像素。我想使用颜色和宽度等属性。就像一个只有一个点或两个相同点的 DrawLine。但这没有任何意义。
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);
}
}