我知道我可以绘制一个圆圈,我可以使用图形绘制许多简单而复杂的东西。但我无法画出一个点(不是一个像素)。
我正在玩一个Paint程序,用户可以绘制得很好而不能绘制一个点。我可以添加一个非常接近的虚拟点,或者可以绘制一个填充的cirlce,但有时我会错过显而易见的。
有没有办法使用给定的画笔或笔绘制单个点?
不,当然我并不是要画一个像素。我想使用像颜色和宽度的属性。就像DrawLine只有一个Point或两次相同的Point。但这没有任何结果。
答案 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);
}
}