Region 类
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
描述由矩形和路径组成的图形形状的内部。 无法继承此类。
public ref class Region sealed : MarshalByRefObject, IDisposable
public sealed class Region : MarshalByRefObject, IDisposable
[System.Runtime.InteropServices.ComVisible(false)]
public sealed class Region : MarshalByRefObject, IDisposable
type Region = class
inherit MarshalByRefObject
interface IDisposable
[<System.Runtime.InteropServices.ComVisible(false)>]
type Region = class
inherit MarshalByRefObject
interface IDisposable
Public NotInheritable Class Region
Inherits MarshalByRefObject
Implements IDisposable
- 继承
- 属性
- 实现
示例
下面的代码示例设计用于 Windows 窗体,它需要 PaintEventArgse
,这是 Paint 事件处理程序的参数。 该代码示例演示如何使用一个 RegionData 对象的 Data 为另一个 RegionData设置 Data。
private:
void DemonstrateRegionData2( PaintEventArgs^ e )
{
//Create a simple region.
System::Drawing::Region^ region1 = gcnew System::Drawing::Region( Rectangle(10,10,100,100) );
// Extract the region data.
System::Drawing::Drawing2D::RegionData^ region1Data = region1->GetRegionData();
array<Byte>^data1;
data1 = region1Data->Data;
// Create a second region.
System::Drawing::Region^ region2 = gcnew System::Drawing::Region;
// Get the region data for the second region.
System::Drawing::Drawing2D::RegionData^ region2Data = region2->GetRegionData();
// Set the Data property for the second region to the Data from the first region.
region2Data->Data = data1;
// Construct a third region using the modified RegionData of the second region.
System::Drawing::Region^ region3 = gcnew System::Drawing::Region( region2Data );
// Dispose of the first and second regions.
delete region1;
delete region2;
// Call ExcludeClip passing in the third region.
e->Graphics->ExcludeClip( region3 );
// Fill in the client rectangle.
e->Graphics->FillRectangle( Brushes::Red, this->ClientRectangle );
delete region3;
}
private void DemonstrateRegionData2(PaintEventArgs e)
{
//Create a simple region.
Region region1 = new Region(new Rectangle(10, 10, 100, 100));
// Extract the region data.
System.Drawing.Drawing2D.RegionData region1Data = region1.GetRegionData();
byte[] data1;
data1 = region1Data.Data;
// Create a second region.
Region region2 = new Region();
// Get the region data for the second region.
System.Drawing.Drawing2D.RegionData region2Data = region2.GetRegionData();
// Set the Data property for the second region to the Data from the first region.
region2Data.Data = data1;
// Construct a third region using the modified RegionData of the second region.
Region region3 = new Region(region2Data);
// Dispose of the first and second regions.
region1.Dispose();
region2.Dispose();
// Call ExcludeClip passing in the third region.
e.Graphics.ExcludeClip(region3);
// Fill in the client rectangle.
e.Graphics.FillRectangle(Brushes.Red, this.ClientRectangle);
region3.Dispose();
}
Private Sub DemonstrateRegionData2(ByVal e As PaintEventArgs)
'Create a simple region.
Dim region1 As New Region(New Rectangle(10, 10, 100, 100))
' Extract the region data.
Dim region1Data As System.Drawing.Drawing2D.RegionData = region1.GetRegionData
Dim data1() As Byte
data1 = region1Data.Data
' Create a second region.
Dim region2 As New Region
' Get the region data for the second region.
Dim region2Data As System.Drawing.Drawing2D.RegionData = region2.GetRegionData()
' Set the Data property for the second region to the Data from the first region.
region2Data.Data = data1
' Construct a third region using the modified RegionData of the second region.
Dim region3 As New Region(region2Data)
' Dispose of the first and second regions.
region1.Dispose()
region2.Dispose()
' Call ExcludeClip passing in the third region.
e.Graphics.ExcludeClip(region3)
' Fill in the client rectangle.
e.Graphics.FillRectangle(Brushes.Red, Me.ClientRectangle)
region3.Dispose()
End Sub
注解
区域可缩放,因为它的坐标是在世界坐标中指定的。 但是,在绘图图面上,其内部取决于表示它的像素的大小和形状。 应用程序可以使用区域来剪辑绘图操作的输出。 这些区域称为剪辑区域。 有关使用区域进行剪辑的详细信息,请参阅 如何:将剪辑与区域配合使用。
应用程序还可以在命中测试操作中使用区域,例如检查某个点或矩形是否与区域相交。 有关使用区域进行测试的详细信息,请参阅 如何:将命中测试与区域配合使用。
应用程序可以使用 Graphics.FillRegion 方法和 Brush 对象填充区域。
注意
在 .NET 6 及更高版本中,System.Drawing.Common 包(包括此类型)仅在 Windows 操作系统上受支持。 在跨平台应用中使用此类型会导致编译时警告和运行时异常。 有关详细信息,请参阅仅在 Windows上支持的 system.Drawing.Common
构造函数
Region() |
初始化新的 Region。 |
Region(GraphicsPath) |
使用指定的 GraphicsPath初始化新的 Region。 |
Region(Rectangle) | |
Region(RectangleF) |
从指定的 RectangleF 结构初始化新的 Region。 |
Region(RegionData) |
从指定数据初始化新的 Region。 |
方法
适用于
另请参阅
- Rectangle
- GraphicsPath
- 使用区域