C#中pictureBox鼠标拖动图片如何保存图片的拖动后的位置

代码:boolwselected=false;boolmouseflag=false;Pointp=newPoint();privatevoidpbHeadPicture... 代码: bool wselected = false;
bool mouseflag = false;
Point p = new Point();
private void pbHeadPicture_MouseDown(object sender, MouseEventArgs e)
{
pbHeadPicture.Cursor = Cursors.Hand;
mouseflag = true;
wselected = true;
p.X = e.X;
p.Y = e.Y;
}
int driftX = 0, driftY = 0;
int mx = 0, my = 0;
Bitmap bm;
private void pbHeadPicture_MouseMove(object sender, MouseEventArgs e)
{
if (wselected)
{
driftX = p.X - e.X;
driftY = p.Y - e.Y;

mx = mx - driftX;
my = my - driftY;
bm = new Bitmap(pbHeadPicture.Image);
Graphics g = pbHeadPicture.CreateGraphics();
g.Clear(pbHeadPicture.BackColor);
g.DrawImage(bm, mx, my);
p.X = e.X;
p.Y = e.Y;

}
}

private void pbHeadPicture_MouseUp(object sender, MouseEventArgs e)
{
pbHeadPicture.Cursor = Cursors.Default;
wselected = false;
}

想把图片保存, 但是bm还是原图
展开
 我来答
夜色华丽
2012-04-16 · TA获得超过664个赞
知道小有建树答主
回答量:800
采纳率:0%
帮助的人:397万
展开全部
再定义一个Bitmap image
pbHeadPicture_MouseMove
在这个函数中再加
image = new Bitmap(pbHeadPicture.Width,pbHeadPicture.Height);
Graphics g1 = Graphics.FromImage(image);
g1.DrawImage(bm, mx, my);

然后保存的时候就用image就好了吧
追问
行啦,我写错了, 谢啦,
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式