GDI+ 中的区域

更新:2007 年 11 月

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

区域

使用区域

区域常用于剪辑和命中检测。剪辑需要将绘制限制到显示区域的一个特定区域,通常是需要更新的部分。命中检测需要通过检查来确定按下鼠标按钮时光标是否在屏幕的特定区域中。

您可以从矩形或路径中构造区域。您也可以通过合并现有的区域来创建复杂区域。Region 类提供以下区域合并方法:IntersectUnionXorExcludeComplement

两个区域的交集是同时属于两个区域的所有点的集合。并集是属于一个或另一个或两个区域的所有点的集合。区域的补集是不在该区域的所有点的集合。下面的插图显示了前面插图中两个区域的交集和并集。

区域

适用于一对区域的 Xor 方法可生成一个区域,其中包含属于一个区域或另一个区域但不同时属于两个区域的所有点。适用于一对区域的 Exclude 方法可生成一个区域,其中包含属于第一个区域而不属于第二个区域的所有点。下面的插图显示了通过将 XorExclude 方法应用于本主题开始处的两个区域而产生的区域。

区域

若要填充区域,需要有 Graphics 对象、Brush 对象和 Region 对象。Graphics 对象提供 FillRegion 方法,Brush 对象存储填充的属性,如颜色或图案。下面的示例用纯色填充区域。

myGraphics.FillRegion(mySolidBrush, myRegion)

myGraphics.FillRegion(mySolidBrush, myRegion);

请参见

参考

System.Drawing.Region

其他资源

直线、曲线和图形

使用区域