Region.Xor 方法

定义

将此 Region 对象更新为联合减去自身与指定 GraphicsPath 对象的交集。

重载

Xor(GraphicsPath)

将此 Region 更新为联合减去自身与指定 GraphicsPath的交集。

Xor(Rectangle)

将此 Region 更新为联合减去自身与指定 Rectangle 结构的交集。

Xor(RectangleF)

将此 Region 更新为联合减去自身与指定 RectangleF 结构的交集。

Xor(Region)

将此 Region 更新为联合减去自身与指定 Region的交集。

Xor(GraphicsPath)

Source:
Region.cs
Source:
Region.cs
Source:
Region.cs
Source:
Region.cs
Source:
Region.cs

将此 Region 更新为联合减去自身与指定 GraphicsPath的交集。

public:
 void Xor(System::Drawing::Drawing2D::GraphicsPath ^ path);
public void Xor (System.Drawing.Drawing2D.GraphicsPath path);
member this.Xor : System.Drawing.Drawing2D.GraphicsPath -> unit
Public Sub Xor (path As GraphicsPath)

参数

path
GraphicsPath

使用此 RegionXorGraphicsPath

例外

path null

示例

有关代码示例,请参阅 Xor(RectangleF)Complement(GraphicsPath) 方法。

适用于

Xor(Rectangle)

Source:
Region.cs
Source:
Region.cs
Source:
Region.cs
Source:
Region.cs
Source:
Region.cs

将此 Region 更新为联合减去自身与指定 Rectangle 结构的交集。

public:
 void Xor(System::Drawing::Rectangle rect);
public void Xor (System.Drawing.Rectangle rect);
member this.Xor : System.Drawing.Rectangle -> unit
Public Sub Xor (rect As Rectangle)

参数

rect
Rectangle

要使用此 RegionXorRectangle 结构。

示例

有关代码示例,请参阅 Xor(RectangleF) 方法。

适用于

Xor(RectangleF)

Source:
Region.cs
Source:
Region.cs
Source:
Region.cs
Source:
Region.cs
Source:
Region.cs

将此 Region 更新为联合减去自身与指定 RectangleF 结构的交集。

public:
 void Xor(System::Drawing::RectangleF rect);
public void Xor (System.Drawing.RectangleF rect);
member this.Xor : System.Drawing.RectangleF -> unit
Public Sub Xor (rect As RectangleF)

参数

rect
RectangleF

要使用此 RegionXor(GraphicsPath)RectangleF 结构。

示例

下面的代码示例设计用于 Windows 窗体,它需要 PaintEventArgse,这是 Paint 事件处理程序的参数。 该代码执行以下操作:

  • 创建第一个矩形并将其绘制到黑色屏幕。

  • 创建第二个矩形并将其绘制到红色屏幕。

  • 使用第一个矩形创建区域。

  • 当与 complementRect结合使用时,获取 myRegionXor 区域。

  • 用蓝色填充 Xor 区域,并将其绘制到屏幕。

请注意,这两个矩形都填充了蓝色,但重叠区域除外。

void XorExample( PaintEventArgs^ e )
{
   // Create the first rectangle and draw it to the screen in black.
   Rectangle regionRect = Rectangle(20,20,100,100);
   e->Graphics->DrawRectangle( Pens::Black, regionRect );

   // create the second rectangle and draw it to the screen in red.
   RectangleF xorRect = RectangleF(90,30,100,100);
   e->Graphics->DrawRectangle( Pens::Red, Rectangle::Round( xorRect ) );

   // Create a region using the first rectangle.
   System::Drawing::Region^ myRegion = gcnew System::Drawing::Region( regionRect );

   // Get the area of overlap for myRegion when combined with
   // complementRect.
   myRegion->Xor( xorRect );

   // Fill the Xor area of myRegion with blue.
   SolidBrush^ myBrush = gcnew SolidBrush( Color::Blue );
   e->Graphics->FillRegion( myBrush, myRegion );
}
public void XorExample(PaintEventArgs e)
{
             
    // Create the first rectangle and draw it to the screen in black.
    Rectangle regionRect = new Rectangle(20, 20, 100, 100);
    e.Graphics.DrawRectangle(Pens.Black, regionRect);
             
    // create the second rectangle and draw it to the screen in red.
    RectangleF xorRect = new RectangleF(90, 30, 100, 100);
    e.Graphics.DrawRectangle(Pens.Red,
        Rectangle.Round(xorRect));
             
    // Create a region using the first rectangle.
    Region myRegion = new Region(regionRect);
             
    // Get the area of overlap for myRegion when combined with
             
    // complementRect.
    myRegion.Xor(xorRect);
             
    // Fill the Xor area of myRegion with blue.
    SolidBrush myBrush = new SolidBrush(Color.Blue);
    e.Graphics.FillRegion(myBrush, myRegion);
}
Public Sub XorExample(ByVal e As PaintEventArgs)

    ' Create the first rectangle and draw it to the screen in black.
    Dim regionRect As New Rectangle(20, 20, 100, 100)
    e.Graphics.DrawRectangle(Pens.Black, regionRect)

    ' create the second rectangle and draw it to the screen in red.
    Dim xorRect As New RectangleF(90, 30, 100, 100)
    e.Graphics.DrawRectangle(Pens.Red, Rectangle.Round(xorRect))

    ' Create a region using the first rectangle.
    Dim myRegion As New [Region](regionRect)

    ' Get the area of overlap for myRegion when combined with
    ' complementRect.
    myRegion.Xor(xorRect)

    ' Fill the intersection area of myRegion with blue.
    Dim myBrush As New SolidBrush(Color.Blue)
    e.Graphics.FillRegion(myBrush, myRegion)
End Sub

适用于

Xor(Region)

Source:
Region.cs
Source:
Region.cs
Source:
Region.cs
Source:
Region.cs
Source:
Region.cs

将此 Region 更新为联合减去自身与指定 Region的交集。

public:
 void Xor(System::Drawing::Region ^ region);
public void Xor (System.Drawing.Region region);
member this.Xor : System.Drawing.Region -> unit
Public Sub Xor (region As Region)

参数

region
Region

使用此 RegionXorRegion

例外

region null

示例

有关代码示例,请参阅 Xor(RectangleF)Complement(GraphicsPath) 方法。

适用于