有一个矩形,想在矩形里面画一些组线,g.DrawLines;g.DrawRectangle;但是这些线段会超出矩形的范围,有没有什么办法可以将超出这个矩形范围的部分不显示出来?
如果是填出的话可以用
Region reg = new Region(gp);
Rectangle rect = new Rectangle(100, 100, 100, 100);
reg .Intersect(rect );
g.FillRegion(brush, reg);
这个办法来获取交集部分并填充。
但是现在是画线,不是填充,没有g.DrawRegion(pen,reg);这个方法;请教各位有没有其他的办法可以实现上述问题?
如果是填出的话可以用
Region reg = new Region(gp);
Rectangle rect = new Rectangle(100, 100, 100, 100);
reg .Intersect(rect );
g.FillRegion(brush, reg);
这个办法来获取交集部分并填充。
但是现在是画线,不是填充,没有g.DrawRegion(pen,reg);这个方法;请教各位有没有其他的办法可以实现上述问题?
补充一下,我画的是曲线,问题是有些曲线点超出了范围,想把超出范围的部分给去掉。
解决方案:
先Region r=g.clip;
然后g.clip=new Region(rect);限定所要画的范围
最后再g.clip=r;恢复原来的状态。