我有一个名为 dPanel 的面板。我用名为 dImage 的图像设置该面板的背景图像。现在我想在面板上绘制点,换句话说,我想使用鼠标为面板着色。我希望能够将绘图和图像一起保存之后。我的代码执行此操作,但图片在绘图过程中亮起并且速度非常慢。这是我的代码:
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;
}
}
Whani 是解决方案吗?提前致谢。
最佳答案
看看这个关于在面板上绘图的好例子:Painting on a Panel .
稍后您可以通过调用面板的方法 DrawToBitmap 来保存您的绘图。
关于c# - 如何在带有图像的面板上绘制点,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8427542/