如何用C#的GDI+绘制两个图

我想问下怎么在一个窗口中绘制了一个图,比如矩形,然后再重复绘制一个.两个可以出现在同一个窗口中.因为我自己写了下,只能绘制一个图...当绘制第二个的时候...第一个老是被... 我想问下怎么在一个窗口中绘制了一个图,比如矩形,然后再重复绘制一个.两个可以出现在同一个窗口中.因为我自己写了下,只能绘制一个图...当绘制第二个的时候...第一个老是被覆盖掉了...
我自己有一个想法是.能不能我用两个Graphics.一个是我在拉图的时候显示我要拉的图的轮廓,然后另外一个是我拉完轮廓后定位的那个图就绘制在上面...然后把第二个Graphics显示出来...
请高手教下..
如果只是给两个确定的参数的话...我可以直接的画出两个图...但是...我要在拉图的时候有轮廓出来...所以我就需要一边画一边清除图画(目前我只能想到这个)直到最后我确定了图形之后再把图定位好...
之后我再拉第二个图,但是我一拉图就会把第一个图给清掉.(因为在拉第二个图的时候也会一边拉一边清.所以把第一个图给清掉了...)有没有方法能拉两个图又不清掉第一个图呢...
展开
 我来答
liaoiao88
2010-09-20 · 超过43用户采纳过TA的回答
知道小有建树答主
回答量:105
采纳率:100%
帮助的人:103万
展开全部
这个你可以建立两个全局Bitmap图层变量 img1和img2
img1用来存储你已经画好了的图层(可以在抬起鼠标时mouseup事件中将img2添加到img1中)
img2用来存储你正在画但未确定的图层(在mousemove事件中根据e.location绘制你想要大小的矩形,并且调用this的窗口重绘事件)

Paint事件里写两张图片的绘制语句
{
if(!null==img1)
{
e.graphic.drawimage(img1,0,0)
}
if(!null==img2)
{
e.graphic.drawimage(img2,0,0)
}
}
yaj52125
2010-09-19 · TA获得超过404个赞
知道小有建树答主
回答量:450
采纳率:100%
帮助的人:492万
展开全部
这个只跟参数有关吧,点位置不同,就可以绘制不同的图形
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友cca7ccb
2010-09-20 · TA获得超过289个赞
知道小有建树答主
回答量:200
采纳率:0%
帮助的人:286万
展开全部
你不是要拉图吗?

肯定要用到mousemove事件,矩形1 和 矩形2 的值也要在这个事件里改变。
矩形1=new Rectangle();
矩形2=new Rectangle();
最后在这个事件里写上this.Invalidate();

Paint事件里写

e.Graphic.DrawRectangle(new Pen(Color.Red),矩形1);
e.Graphic.DrawRectangle(new Pen(Color.Red),矩形2);

可以hi我,
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式