如何用图像在面板上绘制点
本文关键字:绘制 何用 图像 | 更新日期: 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来保存你的绘图。