作者pokia (幻影成风)
看板C_Sharp
标题[问题] 画图
时间Wed Oct 31 23:08:01 2007
我想在OnMouseMove的时候能够产生拖曳圆形的样子
protected override void OnMouseMove(MouseEventArgs e)
{
g.Clear(Color.whilte);
g.DrawEllipse(................);
}
这样一来就可以成功有拖曳圆形变大变小的感觉了
可是在画下一个圆形时会碰到g.Clear(Color.whilte);的影响
造成上一次画的圆形会消失...
有没有办法让所有的图形留在graphics上 而且也要有拖曳的效果?
如果使用
g.DrawEllipse(new Pen(Color.White,5), ............);
g.DrawEllipse(new Pen(ForeColor,5), ...............);
在画下一个圆时 把上一个圆清除 好像可以达成这个效果
可是如果两个圆有接触时 前一个圆某部份会变白色....= ="
不知道有没有办法解决~~~谢谢!!
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 59.116.164.3
1F:推 FantasyRyu:你讲的是Layer的概念。把Layer建成Object就解决了。 11/01 20:41
2F:推 pokia:可以麻烦楼上的大大再说明一下吗??我有点不太清楚 11/02 00:19
3F:推 FantasyRyu:这是图层的概念,请把每一层建成物件方便重绘 11/02 12:26
4F:→ FantasyRyu:如果不想加上Undo功能,就把画过的层统统建成一堆就好 11/02 15:35