GDI+ 中的区域
区域是输出设备显示区域的一部分。 区域可以是简单的(单个矩形)或复杂的(多边形和闭合曲线的组合)。 下图显示了两个区域:一个由矩形构成,另一个由路径构成。
使用区域
区域通常用于剪裁和点击测试。 剪裁涉及将绘图限制到显示区域的某个区域,通常是需要更新的部分。 点击测试包括检查按下鼠标按钮时光标是否在屏幕的某个区域。
可以由一个矩形或路径构造区域。 还可以通过组合现有区域来创建复杂区域。 Region 类提供以下用于组合区域的方法:Intersect、Union、Xor、Exclude 和 Complement。
两个区域的交集是同属这两个区域的所有点的集合。 并集是属于一个或另一个或两个区域的所有点的集合。 区域补充是不属于该区域的所有点的集合。 下图显示了上图中显示的两个区域的交集和并集。
应用于一对区域的 Xor 方法生成一个区域,该区域包含属于一个或另一个区域(但不同时属于两个区域)的所有点。 应用于一对区域的 Exclude 方法生成一个区域,该区域包含第一个区域中不属于第二个区域的所有点。 下图显示了将 Xor 和 Exclude 方法应用于本主题开头所示的两个区域所产生的区域。
要填充一个区域,需要一个 Graphics 对象、一个 Brush 对象和一个 Region 对象。 Graphics 对象提供 FillRegion 方法,而 Brush 对象存储填充的特性,例如颜色或图案。 以下示例使用纯色填充区域。
myGraphics.FillRegion(mySolidBrush, myRegion);
myGraphics.FillRegion(mySolidBrush, myRegion)