C# gdi+清除所绘的图

低调的感觉 2008-12-24 01:48:30
我将一张图片绘到了panel1上
并设为panel1的背景图片

我在panel1上画了几个圆形
现在如何将这些圆形一次性都清除
...全文
1135 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
wsf205 2009-01-08
  • 打赏
  • 举报
回复
在画图中主要是要理解哪些画好了,哪些是要重绘的,如果用鼠标拖动绘图,则需要把目标图片和绘画过程中的图片分开区别的。用panel画图对于细节的操作不是很容易,并且会出现闪屏。建议用一个pictureBox作为画板,上面可以用Bitmap作为画布,设置为双缓冲。画布可以放很多,对于绘图就方便多了,gdi+是个不好弄的东西,我也是前些日子刚做了这方面一些东西,建议楼主查一些该方面资料
Crazy_Xia 2009-01-08
  • 打赏
  • 举报
回复
[Quote=引用 8 楼 homejiji 的回复:]
Bitmap bgBMP=new Bitmap("a.bmp", false);

Graphics myPic = this.panel1.CreateGraphics();
Bitmap myBit = new Bitmap(bgBMP);

myPic.DrawImage(myBit, 0, 0,300,300);

清空的时候重新画一下就可以了

主要是将背景图独立保存不要直接在上面画。。。
[/Quote]
---------------
up
homejiji 2009-01-08
  • 打赏
  • 举报
回复
Bitmap bgBMP=new Bitmap("a.bmp", false);

Graphics myPic = this.panel1.CreateGraphics();
Bitmap myBit = new Bitmap(bgBMP);


myPic.DrawImage(myBit, 0, 0,300,300);

清空的时候重新画一下就可以了

主要是将背景图独立保存不要直接在上面画。。。
scy251147 2009-01-08
  • 打赏
  • 举报
回复
貌似不好做,要是按3楼那样的话,原来的图也被清理了
CraxyMouse 2009-01-08
  • 打赏
  • 举报
回复
blog.csdn.net/dunao
在这里寻找答案 吧!
LorenLiu 2009-01-08
  • 打赏
  • 举报
回复
如果你的画圆是在panel的paint方法中写死了的,就没办法了,因为每次panel被刷新都要执行那些语句,又会重新画出来

你看看这个,希望能对你有所帮助

http://blog.csdn.net/LorenLiu/archive/2008/12/25/3600063.aspx
低调的感觉 2009-01-08
  • 打赏
  • 举报
回复
3楼的方法实现不了
还有哪位大侠帮我一下..?
dai78 2008-12-24
  • 打赏
  • 举报
回复
e.Graphics.Clear();
bbbbbb888888 2008-12-24
  • 打赏
  • 举报
回复
mark
laidon 2008-12-24
  • 打赏
  • 举报
回复
如果是用
Graphics myPic = this.panel1.CreateGraphics();
Bitmap myBit = new Bitmap("a.bmp", false);
myPic.DrawImage(myBit, 0, 0,300,300);
这种方法绘制的话,可以直接 panel1.Refresh();

111,131

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Creator Browser
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧