繁体   English   中英

在C#中的PictureBox上绘制点网格

[英]Drawing a Grid of Dots on a PictureBox in C#

我已经搜索了大约12个小时,试图找到在PictureBox上绘制点的方法,我发现很多线程都提供了示例代码,但我似乎还是无法完成我想要的事情。

基本上,我想做的是:

我有一个带有PictureBox的Windows窗体,PictureBox中没有任何图像,但是我确实将BackColor设置为Black。 我试图创建一个新的位图图像,然后运行代码以以下样式创建白点:

    ..........
    ..........
    ..........
    ..........

这样就给了我网格风格。 但是,每次尝试都失败了,因此,如果有人可以帮助我了解如何使用它,我将不胜感激。

我最近的尝试是使用ControlPaint.DrawGrid方法,如下所示:

private void picBox_Display_Paint(object sender, PaintEventArgs e)
{
    Size size = new Size(35, 35);
    Rectangle rect = new Rectangle(0,0,picBox_Display.Width, picBox_Display.Height);
    ControlPaint.DrawGrid(Graphics.FromHwnd(picBox_Display.Handle), rect, size, Color.White);
}

上面的代码在PictureBox Paint事件方法中。 我知道它遍历代码,因为我在方法末尾有一个断点,但是什么也没发生。 我不确定我是否应该添加其他内容,所以我了解ControlPaint.DrawGrid的工作原理吗?

我今天早些时候尝试使用Bitmap.SetPixel方法,但一直遇到问题,并一直在寻找其他方法来完成它。

任何帮助,将不胜感激。 谢谢!

您需要为此使用e.Graphics。 还请注意,调试此类代码可能很困难,因为调试通常会使图形无效,因此需要再次绘制。 最后一个参数是与您要绘画的背景颜色相对的,因此看起来它与您指定的颜色相反。 如果背景是黑色,则需要输入Color.Black

ControlPaint.DrawGrid(e.Graphics, rect, size, Color.Black);

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM