次の方法で共有


Region クラス

定義

四角形とパスで構成されるグラフィックス図形の内部について説明します。 このクラスは継承できません。

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 フォームで使用できるように設計されており、Paint イベント ハンドラーのパラメーターである PaintEventArgseが必要です。 このコード例では、ある RegionData オブジェクトの Data を使用して、別の RegionDataData を設定する方法を示します。

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 オペレーティング システムでのみサポートされています。 クロスプラットフォーム アプリでこの種類を使用すると、コンパイル時の警告と実行時の例外が発生します。 詳細については、「System.Drawing.Common が Windowsでのみサポートされる」を参照してください。

コンストラクター

Region()

新しい Regionを初期化します。

Region(GraphicsPath)

指定した GraphicsPathを使用して新しい Region を初期化します。

Region(Rectangle)

指定した Rectangle 構造体から新しい Region を初期化します。

Region(RectangleF)

指定した RectangleF 構造体から新しい Region を初期化します。

Region(RegionData)

指定したデータから新しい Region を初期化します。

メソッド

Clone()

この Regionの正確なコピーを作成します。

Complement(GraphicsPath)

この Region を更新して、この Regionと交差しない指定した GraphicsPath の部分を格納します。

Complement(Rectangle)

この Region を更新して、この Regionと交差しない指定した Rectangle 構造体の部分を格納します。

Complement(RectangleF)

この Region を更新して、この Regionと交差しない指定した RectangleF 構造体の部分を格納します。

Complement(Region)

この Region を更新して、この Regionと交差しない指定した Region の部分を格納します。

CreateObjRef(Type)

リモート オブジェクトとの通信に使用されるプロキシの生成に必要なすべての関連情報を含むオブジェクトを作成します。

(継承元 MarshalByRefObject)
Dispose()

この Regionで使用されているすべてのリソースを解放します。

Equals(Object)

指定したオブジェクトが現在のオブジェクトと等しいかどうかを判断します。

(継承元 Object)
Equals(Region, Graphics)

指定した Region が、指定した図面サーフェス上のこの Region と同じかどうかをテストします。

Exclude(GraphicsPath)

この Region を更新して、指定した GraphicsPathと交差しない内部部分のみを含みます。

Exclude(Rectangle)

この Region を更新して、指定した Rectangle 構造体と交差しない内部部分のみを含みます。

Exclude(RectangleF)

この Region を更新して、指定した RectangleF 構造体と交差しない内部部分のみを含みます。

Exclude(Region)

この Region を更新して、指定した Regionと交差しない内部部分のみを含みます。

Finalize()

オブジェクトがガベージ コレクションによって解放される前に、リソースを解放し、その他のクリーンアップ操作を実行できるようにします。

FromHrgn(IntPtr)

ハンドルから指定した既存の GDI 領域に新しい Region を初期化します。

GetBounds(Graphics)

Graphics オブジェクトの描画サーフェイスにこの Region をバインドする四角形を表す RectangleF 構造体を取得します。

GetHashCode()

既定のハッシュ関数として機能します。

(継承元 Object)
GetHrgn(Graphics)

指定したグラフィックス コンテキストで、この Region に対する Windows ハンドルを返します。

GetLifetimeService()
古い.

このインスタンスの有効期間ポリシーを制御する現在の有効期間サービス オブジェクトを取得します。

(継承元 MarshalByRefObject)
GetRegionData()

この Regionについて説明する情報を表す RegionData を返します。

GetRegionScans(Matrix)

指定した行列変換が適用された後、この Region に近似する RectangleF 構造体の配列を返します。

GetType()

現在のインスタンスの Type を取得します。

(継承元 Object)
InitializeLifetimeService()
古い.

このインスタンスの有効期間ポリシーを制御する有効期間サービス オブジェクトを取得します。

(継承元 MarshalByRefObject)
Intersect(GraphicsPath)

この Region を、指定した GraphicsPathとの交差部分に更新します。

Intersect(Rectangle)

この Region を、指定した Rectangle 構造体との積集合に更新します。

Intersect(RectangleF)

この Region を、指定した RectangleF 構造体との積集合に更新します。

Intersect(Region)

この Region を、指定した Regionとの交差部分に更新します。

IsEmpty(Graphics)

この Region が、指定した図面サーフェス上に空の内部を持っているかどうかをテストします。

IsInfinite(Graphics)

この Region が、指定した描画サーフェイスに無限の内部を持っているかどうかをテストします。

IsVisible(Int32, Int32, Graphics)

指定した Graphics オブジェクトを使用して描画するときに、指定したポイントがこの Region オブジェクト内に含まれているかどうかをテストします。

IsVisible(Int32, Int32, Int32, Int32)

指定した四角形の一部がこの Region内に含まれているかどうかをテストします。

IsVisible(Int32, Int32, Int32, Int32, Graphics)

指定した Graphicsを使用して描画するときに、指定した四角形の一部がこの Region 内に含まれているかどうかをテストします。

IsVisible(Point)

指定した Point 構造体がこの Region内に含まれているかどうかをテストします。

IsVisible(Point, Graphics)

指定した Graphicsを使用して描画するときに、指定した Point 構造体がこの Region 内に含まれているかどうかをテストします。

IsVisible(PointF)

指定した PointF 構造体がこの Region内に含まれているかどうかをテストします。

IsVisible(PointF, Graphics)

指定した Graphicsを使用して描画するときに、指定した PointF 構造体がこの Region 内に含まれているかどうかをテストします。

IsVisible(Rectangle)

指定した Rectangle 構造体の一部がこの Region内に含まれているかどうかをテストします。

IsVisible(Rectangle, Graphics)

指定した Graphicsを使用して描画するときに、指定した Rectangle 構造体の一部がこの Region 内に含まれているかどうかをテストします。

IsVisible(RectangleF)

指定した RectangleF 構造体の一部がこの Region内に含まれているかどうかをテストします。

IsVisible(RectangleF, Graphics)

指定した Graphicsを使用して描画するときに、指定した RectangleF 構造体の一部がこの Region 内に含まれているかどうかをテストします。

IsVisible(Single, Single)

指定したポイントがこの Region内に含まれているかどうかをテストします。

IsVisible(Single, Single, Graphics)

指定した Graphicsを使用して描画するときに、指定したポイントがこの Region 内に含まれているかどうかをテストします。

IsVisible(Single, Single, Single, Single)

指定した四角形の一部がこの Region内に含まれているかどうかをテストします。

IsVisible(Single, Single, Single, Single, Graphics)

指定した Graphicsを使用して描画するときに、指定した四角形の一部がこの Region 内に含まれているかどうかをテストします。

MakeEmpty()

この Region を空の内部に初期化します。

MakeInfinite()

この Region オブジェクトを無限の内部に初期化します。

MemberwiseClone()

現在の Objectの簡易コピーを作成します。

(継承元 Object)
MemberwiseClone(Boolean)

現在の MarshalByRefObject オブジェクトの簡易コピーを作成します。

(継承元 MarshalByRefObject)
ReleaseHrgn(IntPtr)

Regionのハンドルを解放します。

ToString()

現在のオブジェクトを表す文字列を返します。

(継承元 Object)
Transform(Matrix)

指定した Matrixでこの Region を変換します。

Translate(Int32, Int32)

この Region の座標を指定した量でオフセットします。

Translate(Single, Single)

この Region の座標を指定した量でオフセットします。

Union(GraphicsPath)

この Region をそれ自体と指定した GraphicsPathの和集合に更新します。

Union(Rectangle)

この Region をそれ自体と指定した Rectangle 構造体の和集合に更新します。

Union(RectangleF)

この Region をそれ自体と指定した RectangleF 構造体の和集合に更新します。

Union(Region)

この Region をそれ自体と指定した Regionの和集合に更新します。

Xor(GraphicsPath)

この Region を、指定した GraphicsPathとの積集合を引いた和集合に更新します。

Xor(Rectangle)

この Region を、共用体から指定された Rectangle 構造体との交差部分を引いた値に更新します。

Xor(RectangleF)

この Region を、共用体から指定された RectangleF 構造体との交差部分を引いた値に更新します。

Xor(Region)

この Region を、指定した Regionとの積集合を引いた和集合に更新します。

適用対象

こちらもご覧ください