C#的GDI画图问题

这个screenImage是一个图片,这个代码原理应该是每次只显示一个矩形框,可是现在是仍然保留着上次的矩形框,这是为什么privatevoidpictureBox1_M... 这个screenImage是一个图片,这个代码原理应该是每次只显示一个矩形框,可是现在是仍然保留着上次的矩形框,这是为什么
private void pictureBox1_MouseMove(object sender, MouseEventArgs e)
{
locationNewX = MousePosition.X;
locationNewY = MousePosition.Y;
Bitmap screen = new Bitmap(this.Width,this.Height);
screen = screenImage;
Graphics sIma = Graphics.FromImage(screen);
sIma.DrawRectangle(p, 100, 100, locationNewX - 100, locationNewY - 100);
pictureBox1.Image = screen;
}
展开
 我来答
hongfei357
2013-06-29 · TA获得超过285个赞
知道小有建树答主
回答量:384
采纳率:100%
帮助的人:212万
展开全部
没有清空画布 就会保留上次的绘画记录

加上这一句 里面忘了有没有参数了 如果有 可以添加清空后的颜色
sIma.Clear();
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百百mp3
2013-06-29 · TA获得超过855个赞
知道小有建树答主
回答量:901
采纳率:90%
帮助的人:544万
展开全部
screen = screenImage;已经说明了Graphics类修改的图片为screenImage而并不是screen。
追问
这句就是把screenImage赋给screen,就是screen的内容和screenImage内容一样.现在看起来就像是screen只是个引用
追答
这语句就是一个引用并不是复制数据,如果是复制screen的内容,请使用:
screen = (Bitmap)screenImage.Clone;
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
leiyangbdwk
2013-06-29 · TA获得超过3295个赞
知道大有可为答主
回答量:4975
采纳率:12%
帮助的人:4354万
展开全部
我运行的时候没有看到这个问题,我只看到一个矩形框。
追问
能把代码发给我吗.我运行的时候一直是很多矩形框
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
jerrywk
2013-06-29 · 超过15用户采纳过TA的回答
知道答主
回答量:42
采纳率:0%
帮助的人:36.5万
展开全部
screen = screenImage; 这句是干什么的
更多追问追答
追问
这句就是把screenImage赋给screen,就是screen的内容和screenImage内容一样.现在看起来就像是screen只是个引用
追答
每次重新加载一下screenImage就可以了
private void pictureBox1_MouseMove(object sender, MouseEventArgs e)
{
locationNewX = MousePosition.X;
locationNewY = MousePosition.Y;
Bitmap screen = new Bitmap(this.Width,this.Height);
screenImage = new Bitmap(Bitmap.FromFile("F:/17.png"));//每次都重新载入图片
screen = screenImage;
Graphics sIma = Graphics.FromImage(screen);
sIma.DrawRectangle(p, 100, 100, locationNewX - 100, locationNewY - 100);
pictureBox1.Image = screen;
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式