GDI+ 中的区域

区域是输出设备显示区域的一部分。 区域可以是简单的(单个矩形)或复杂的(多边形和闭合曲线的组合)。 下图显示了两个区域:一个由矩形构成,另一个由路径构成。

Screenshot of a region constructed from a rectangle and a screenshot of a region constructed from a path.

使用区域

区域通常用于剪裁和点击测试。 剪裁涉及将绘图限制到显示区域的某个区域,通常是需要更新的部分。 点击测试包括检查按下鼠标按钮时光标是否在屏幕的某个区域。

可以由一个矩形或路径构造区域。 还可以通过组合现有区域来创建复杂区域。 Region 类提供以下用于组合区域的方法:IntersectUnionXorExcludeComplement

两个区域的交集是同属这两个区域的所有点的集合。 并集是属于一个或另一个或两个区域的所有点的集合。 区域补充是不属于该区域的所有点的集合。 下图显示了上图中显示的两个区域的交集和并集。

Screenshot of an intersection and a union of the two regions from the preceding illustration.

应用于一对区域的 Xor 方法生成一个区域,该区域包含属于一个或另一个区域(但不同时属于两个区域)的所有点。 应用于一对区域的 Exclude 方法生成一个区域,该区域包含第一个区域中不属于第二个区域的所有点。 下图显示了将 XorExclude 方法应用于本主题开头所示的两个区域所产生的区域。

Screenshot of the Xor method results and the Exclude method results applied to the two regions from the preceding illustration.

要填充一个区域,需要一个 Graphics 对象、一个 Brush 对象和一个 Region 对象。 Graphics 对象提供 FillRegion 方法,而 Brush 对象存储填充的特性,例如颜色或图案。 以下示例使用纯色填充区域。

myGraphics.FillRegion(mySolidBrush, myRegion);
myGraphics.FillRegion(mySolidBrush, myRegion)

另请参阅