c#在picturebox画点
时间: 2023-09-09 09:11:09 浏览: 248
在C#中,在PictureBox上画点有多种方法。
第一种方法是利用GDI,首先需要在窗体上插入PictureBox控件和一个Button按钮。当点击按钮后,鼠标进入PictureBox控件中,每左击一次画一个点。具体代码如下:
```
private string sType; // 用来记录button的Name
private void btnDrawPoint_Click(object sender, EventArgs e)
{
sType = "btnDrawPoint"; // 获取button的Name
}
private void pictureBox1_MouseDown(object sender, MouseEventArgs e)
{
Graphics g = pictureBox1.CreateGraphics(); // 创建一个画板
if (sType == "btnDrawPoint")
{
if (e.Button == MouseButtons.Left)
{
g.FillEllipse(Brushes.Red, e.X, e.Y, 4, 4); // 画一个半径为4的圆点
}
}
}
```
第二种方法是调用gdi32.dll库中的SetPixel方法。具体代码如下:
```
[DllImport("gdi32.dll")]
private static extern int SetPixel(IntPtr hdc, int x1, int y1, int color);
private string sType; // 用来记录button的Name
private void btnDrawPoint_Click(object sender, EventArgs e)
{
sType = "btnDrawPoint"; // 获取button的Name
}
private void pictureBox1_MouseDown(object sender, MouseEventArgs e)
{
Graphics g = pictureBox1.CreateGraphics(); // 创建一个画板
PointF p = new PointF(e.X, e.Y); // 实例化一个点,这个点的坐标就是鼠标的x,y
if (sType == "btnDrawPoint")
{
if (e.Button == MouseButtons.Left)
{
DrawPoint(g, p); // 调用画点的方法,把相应参数传入
}
}
}
public void DrawPoint(Graphics g, PointF p)
{
IntPtr hdc = g.GetHdc();
int color = 255; // 这里定义了一个整型的颜色变量,255为红色
SetPixel(hdc, (int)p.X, (int)p.Y, color);
g.ReleaseHdc();
}
```
以上是两种常用的方法,在PictureBox控件上实现鼠标每左击一次就会画一个点的效果。<span class="em">1</span><span class="em">2</span><span class="em">3</span>
#### 引用[.reference_title]
- *1* [C#中利用pictureBox画点的心得](https://blog.csdn.net/Scarlett_OHara/article/details/50145565)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"]
- *2* *3* [C#之在PictureBox控件上画点](https://blog.csdn.net/Kevin_Sun777/article/details/108265316)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"]
[ .reference_list ]
阅读全文
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20241231044930.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![rar](https://img-home.csdnimg.cn/images/20241231044955.png)
![7z](https://img-home.csdnimg.cn/images/20241231044736.png)
![txt](https://img-home.csdnimg.cn/images/20241231045021.png)
![rar](https://img-home.csdnimg.cn/images/20241231044955.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)