Graphics与区域

GraphicsPath本身是一个由有顺序的一组图形组成的路径,因为这组图形是有顺序的,而且每个图形都由一组有顺序的直线和曲线组成,所以GraphicsPath本身是一个有起点和终点的路径。

在一个区域中创建另一个区域:

要从以后的区域中创建另一个区域,构造函数不接受已有的区域对象本身,而是接受一个区域数据的数组,我们可以从其GetRegionData方法中获取这个区域所需要的数据,这个方法一RegionData对象的形式返回所需的数据,接着就可以吧这个对象传送给Region构造函数,创建与已有Region对象类似的新Region对象。

Region r1 = new Region(new rectangle(10,10,80,20));

RegionData r1Data = r1.GetRegionData();

Region r2 = new Region(r1Data);

另外,还可以使用Clone方法:Region r1 = new Region(new Rectangle(10,10,80,20));

Region r2 = r1.Clone();

Region中的代数操作:

使用 :Rectangle rect1 = new Rectangle(50, 10, 50, 100);             Rectangle rect2 = new Rectangle(10,50,130,50);             Region reg = new Region(rect1);             reg.Intersect(rect2);             g.FillRegion(Brushes.Orange, reg);             g.DrawRectangle(Pens.Black, rect1);             g.DrawRectangle(Pens.Black, rect2);

原文地址:https://www.cnblogs.com/ttssrs/p/2396510.html