【发布时间】:2014-03-09 17:40:44
【问题描述】:
我已经搜索了大约 12 个小时,现在试图找到一种在 PictureBox 上绘制点的方法,我发现很多线程都给出了示例代码,但我似乎无法完成我想要的。
本质上我想要做的是:
我有一个带有 PictureBox 的 Windows 窗体,PictureBox 中没有任何图像,但是我确实将 BackColor 设置为黑色。我正在尝试创建一个新的位图图像,然后运行代码以创建以下样式的白点:
..........
..........
..........
..........
因此在 PictureBox 上给了我一个网格样式。但是,每次尝试我都失败了,所以如果有人可以帮助我了解如何使用它,我将不胜感激。
我最近的尝试是使用 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 方法,但一直遇到问题并一直在寻找其他方法来尝试完成它。
任何帮助将不胜感激。谢谢!
【问题讨论】:
-
您是只想在屏幕上绘制点,还是将点实际绘制到位图上?即位图是否仅用于实现点的绘制?
-
最终结果是我想在位图图像上绘制点,然后将其分配给 pictureBox.Image,但我也遇到了问题,然后我看到了 ControlPaint.DrawGrid 方法并想尝试一下它。但我仍然有问题,但是在没有调试的情况下运行 exe 程序后,我可以看到这些点,但就像我说的那样,我仍在尝试找到一种方法将这些点放到图像上,并且我认为我在使用 vs 时遇到了同样的问题调试器,所以我回去尝试 SetPixel 方法,不幸的是我已经删除了以前的代码,所以我不得不对其进行一些工作。
标签: c# bitmap picturebox