如何用图像在面板上绘制点

本文关键字:绘制 何用 图像 | 更新日期: 2023-09-27 18:17:14

我有一个名为dPanel的面板。我将面板的backgrounimage设置为一个名为image的图像。现在我想在面板上画点,换句话说,我想用鼠标给面板上色。我希望以后能够保存绘图和图像在一起。我的代码是这样做的,但是在绘制过程中图片会亮起来,而且速度很慢。下面是我的代码:

 private void drawP_MouseDown(object sender, MouseEventArgs e)
    {
        if (!drawbool)
        {
            dStartPoint = e.Location;
            drawbool = true;
        }
        drawP.Invalidate();
    }
 private void drawP_MouseMove(object sender, MouseEventArgs e)
    {
        if (drawbool)
        {
            dStartPoint = e.Location;
            drawP.Invalidate();
        }
    }
 private void drawP_MouseUp(object sender, MouseEventArgs e)
    {
        if (drawbool)
        {
            drawbool = false;
        }
    }
  private void drawP_Paint_1(object sender, PaintEventArgs e)
    {
        if (drawbool)
        {
            int dStartX = dStartPoint.X;
            int dStartY = dStartPoint.Y;
            e.Graphics.DrawEllipse(dP, dStartX, dStartY, 2, 2);
            Bitmap dPPB = new Bitmap(drawP.Width, drawP.Height);
            drawP.DrawToBitmap(dPPB, new Rectangle(0, 0, drawP.Width, drawP.Height));
            drawP.BackgroundImage = (Image)dPPB;
        }
    }

解决方案是什么?

如何用图像在面板上绘制点

看看这个关于在面板上画画的好例子:在面板上画画。

之后你可以通过调用panel的方法DrawToBitmap来保存你的绘图。