C#gdi+求助 !!!!!!

我用C#的GDI+在FORM窗体上drawimage显示一个图像,然后我想在同一窗体上再drawimage另一张图像,目的是在同一个from窗体中删除一张图像后再显示另一... 我用C#的GDI+在FORM窗体上drawimage显示一个图像,然后我想在同一窗体上再drawimage另一张图像,目的是在同一个from窗体中删除一张图像后再显示另一张图像,如此不断反复操作,但是Graphics的Dispose方法只是用来释放对象,并不能清空画板,请问我应该用什么方法来实现这种效果呢?
(- - 不要说什么再画一张空白的覆盖上去或者clear上背景色什么的....我是要清空上一张图像)
展开
 我来答
百度网友d242235
2011-01-01 · TA获得超过2385个赞
知道大有可为答主
回答量:1403
采纳率:84%
帮助的人:820万
展开全部
Clear(Color)这个是可以做的。但我觉得有些东西你并没有搞清楚。
GDI+一个Image对象,就是从一个Image对象上创建一个Graphics画板,在这个画板对象上调用Clear方法,就可以清空它的所有图像。问题在于,你画两张Image,当然会产生两个Grapics对象。如果要清空上一张,只要调用上一张画板的Clear就可以了,但是上一张图相对应的Graphics,你有保存吗?建议你为form定义一个变量,每次绘图产生的Graphics都存到这个对象里,然后下次绘图时,先调用Clear清空当前图。然后再保存下个Graphics对象就可以了。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
谦逊且肃穆灬不倒翁3772
2011-01-01 · TA获得超过611个赞
知道小有建树答主
回答量:394
采纳率:0%
帮助的人:325万
展开全部
//取得图片大小
System.Drawing.Size size = new System.Drawing.Size((int)image.Width, (int)image.Height);
//新建一个bmp图片
System.Drawing.Image bitmap = new System.Drawing.Bitmap(size.Width, size.Height);
//新建一个画板
System.Drawing.Graphics g = System.Drawing.Graphics.FromImage(bitmap);
//设置高质量插值法
g.InterpolationMode = System.Drawing.Drawing2D.InterpolationMode.Default;
//设置高质量,低速度呈现平滑程度
g.SmoothingMode = System.Drawing.Drawing2D.SmoothingMode.Default;
//清空一下画布
g.Clear(System.Drawing.Color.White);
//在指定位置画图
g.DrawImage(image, new System.Drawing.Rectangle(0, 0, bitmap.Width, bitmap.Height),
new System.Drawing.Rectangle(0, 0, image.Width, image.Height),
System.Drawing.GraphicsUnit.Pixel);

//文字水印
System.Drawing.Graphics G=System.Drawing.Graphics.FromImage(bitmap);
System.Drawing.Font f=new Font("宋体",10);
System.Drawing.Brush b=new SolidBrush(Color.Black);
G.DrawString("hi.baidu.com/emixo",f,b,10,10);
G.Dispose();
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
gaoshang212
2011-01-01 · TA获得超过171个赞
知道小有建树答主
回答量:209
采纳率:0%
帮助的人:197万
展开全部
建议你别直接画在窗体是,弄一个PictureBox 画在这上面!~
每次重画之前,可以重绘一下PictureBox如: PictureBox1.Invalidate().
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式