Graphics.IsVisible メソッド

定義

座標ペアで指定された点が、この Graphics の表示クリップ領域内にあるかどうかを示します。

オーバーロード

IsVisible(Single, Single, Single, Single)

この Graphics の表示クリップ領域内に、座標ペア、幅、および高さで指定された四角形が含まれるかどうかを示します。

IsVisible(Int32, Int32, Int32, Int32)

この Graphics の表示クリップ領域内に、座標ペア、幅、および高さで指定された四角形が含まれるかどうかを示します。

IsVisible(Single, Single)

座標ペアで指定された点が、この Graphics の表示クリップ領域内にあるかどうかを示します。

IsVisible(Int32, Int32)

座標ペアで指定された点が、この Graphics の表示クリップ領域内にあるかどうかを示します。

IsVisible(Rectangle)

この Graphics の表示クリップ領域内に、Rectangle 構造体で指定された四角形が含まれるかどうかを示します。

IsVisible(PointF)

この Graphics の表示クリップ領域内に、指定した PointF 構造体が含まれるかどうかを示します。

IsVisible(Point)

この Graphics の表示クリップ領域内に、指定した Point 構造体が含まれるかどうかを示します。

IsVisible(RectangleF)

この Graphics の表示クリップ領域内に、RectangleF 構造体で指定された四角形が含まれるかどうかを示します。

IsVisible(Single, Single, Single, Single)

この Graphics の表示クリップ領域内に、座標ペア、幅、および高さで指定された四角形が含まれるかどうかを示します。

public:
 bool IsVisible(float x, float y, float width, float height);
public bool IsVisible (float x, float y, float width, float height);
member this.IsVisible : single * single * single * single -> bool
Public Function IsVisible (x As Single, y As Single, width As Single, height As Single) As Boolean

パラメーター

x
Single

表示可能かどうかをテストする四角形の左上隅の x 座標。

y
Single

表示可能かどうかをテストする四角形の左上隅の y 座標。

width
Single

表示可能範囲をテストする四角形の幅。

height
Single

表示可能範囲をテストする四角形の高さ。

戻り値

Boolean

xywidthheight の各パラメーターで定義された四角形がこの Graphics の表示クリップ領域内に含まれる場合は true。それ以外の場合は false

次のコード例は、Windows Forms で使用するように設計されています。イベント ハンドラーのパラメーターである が PaintEventArgs e Paint 必要です。 コードは、次のアクションを実行します。

  • 四角形のクリッピング領域を作成し、 を使用してフォームのグラフィックス オブジェクトのクリッピング領域として設定します Replace

  • クリッピング領域内と外側の 2 つの四角形の位置とサイズを作成します。

  • 各四角形の可視性をテストし、表示されている四角形のみを描画します。

その結果、1 つの小さな赤い四角形がクリップ領域内に表示されます。

public:
   void IsVisible4Float( PaintEventArgs^ e )
   {
      // Set clip region.
      System::Drawing::Region^ clipRegion = gcnew System::Drawing::Region( Rectangle(50,50,100,100) );
      e->Graphics->SetClip( clipRegion, CombineMode::Replace );

      // Set up coordinates of rectangles.
      float x1 = 100.0F;
      float y1 = 100.0F;
      float width1 = 20.0F;
      float height1 = 20.0F;
      float x2 = 200.0F;
      float y2 = 200.0F;
      float width2 = 20.0F;
      float height2 = 20.0F;

      // If rectangle is visible, fill it.
      if ( e->Graphics->IsVisible( x1, y1, width1, height1 ) )
      {
         e->Graphics->FillRectangle( gcnew SolidBrush( Color::Red ), x1, y1, width1, height1 );
      }

      if ( e->Graphics->IsVisible( x2, y2, width2, height2 ) )
      {
         e->Graphics->FillRectangle( gcnew SolidBrush( Color::Blue ), x2, y2, width2, height2 );
      }
   }
private void IsVisible4Float(PaintEventArgs e)
{

    // Set clip region.
    Region clipRegion = new Region(new Rectangle(50, 50, 100, 100));
    e.Graphics.SetClip(clipRegion, CombineMode.Replace);

    // Set up coordinates of rectangles.
    float x1 = 100.0F;
    float y1 = 100.0F;
    float width1 = 20.0F;
    float height1 = 20.0F;
    float x2 = 200.0F;
    float y2 = 200.0F;
    float width2 = 20.0F;
    float height2 = 20.0F;

    // If rectangle is visible, fill it.
    if (e.Graphics.IsVisible(x1, y1, width1, height1))
    {
        e.Graphics.FillRectangle(new SolidBrush(Color.Red), x1, y1, width1, height1);
    }
    if (e.Graphics.IsVisible(x2, y2, width2, height2))
    {
        e.Graphics.FillRectangle(new SolidBrush(Color.Blue), x2, y2, width2, height2);
    }
}
Private Sub IsVisible4Float(ByVal e As PaintEventArgs)

    ' Set clip region.
    Dim clipRegion As New [Region](New Rectangle(50, 50, 100, 100))
    e.Graphics.SetClip(clipRegion, CombineMode.Replace)

    ' Set up coordinates of rectangles.
    Dim x1 As Single = 100.0F
    Dim y1 As Single = 100.0F
    Dim width1 As Single = 20.0F
    Dim height1 As Single = 20.0F
    Dim x2 As Single = 200.0F
    Dim y2 As Single = 200.0F
    Dim width2 As Single = 20.0F
    Dim height2 As Single = 20.0F

    ' If rectangle is visible, fill it.
    If e.Graphics.IsVisible(x1, y1, width1, height1) Then
        e.Graphics.FillRectangle(New SolidBrush(Color.Red), x1, y1, _
        width1, height1)
    End If
    If e.Graphics.IsVisible(x2, y2, width2, height2) Then
        e.Graphics.FillRectangle(New SolidBrush(Color.Blue), x2, y2, _
        width2, height2)
    End If
End Sub

適用対象

IsVisible(Int32, Int32, Int32, Int32)

この Graphics の表示クリップ領域内に、座標ペア、幅、および高さで指定された四角形が含まれるかどうかを示します。

public:
 bool IsVisible(int x, int y, int width, int height);
public bool IsVisible (int x, int y, int width, int height);
member this.IsVisible : int * int * int * int -> bool
Public Function IsVisible (x As Integer, y As Integer, width As Integer, height As Integer) As Boolean

パラメーター

x
Int32

表示可能かどうかをテストする四角形の左上隅の x 座標。

y
Int32

表示可能かどうかをテストする四角形の左上隅の y 座標。

width
Int32

表示可能範囲をテストする四角形の幅。

height
Int32

表示可能範囲をテストする四角形の高さ。

戻り値

Boolean

xywidthheight の各パラメーターで定義された四角形がこの Graphics の表示クリップ領域内に含まれる場合は true。それ以外の場合は false

次のコード例は、Windows Forms で使用するように設計され、イベント ハンドラーのパラメーターである が PaintEventArgs e Paint 必要です。 コードは、次のアクションを実行します。

  • 四角形のクリッピング領域を作成し、 を使用してフォームのグラフィックス オブジェクトのクリッピング領域として設定します Replace

  • クリッピング領域内と外側の 2 つの四角形の位置とサイズを作成します。

  • 各四角形の可視性をテストし、表示されている四角形のみを描画します。

その結果、1 つの小さな赤い四角形がクリップ領域内に表示されます。

public:
   void IsVisible4Int( PaintEventArgs^ e )
   {
      // Set clip region.
      System::Drawing::Region^ clipRegion = gcnew System::Drawing::Region( Rectangle(50,50,100,100) );
      e->Graphics->SetClip( clipRegion, CombineMode::Replace );

      // Set up coordinates of rectangles.
      int x1 = 100;
      int y1 = 100;
      int width1 = 20;
      int height1 = 20;
      int x2 = 200;
      int y2 = 200;
      int width2 = 20;
      int height2 = 20;

      // If rectangle is visible, fill it.
      if ( e->Graphics->IsVisible( x1, y1, width1, height1 ) )
      {
         e->Graphics->FillRectangle( gcnew SolidBrush( Color::Red ), x1, y1, width1, height1 );
      }

      if ( e->Graphics->IsVisible( x2, y2, width2, height2 ) )
      {
         e->Graphics->FillRectangle( gcnew SolidBrush( Color::Blue ), x2, y2, width2, height2 );
      }
   }
private void IsVisible4Int(PaintEventArgs e)
{

    // Set clip region.
    Region clipRegion = new Region(new Rectangle(50, 50, 100, 100));
    e.Graphics.SetClip(clipRegion, CombineMode.Replace);

    // Set up coordinates of rectangles.
    int x1 = 100;
    int y1 = 100;
    int width1 = 20;
    int height1 = 20;
    int x2 = 200;
    int y2 = 200;
    int width2 = 20;
    int height2 = 20;

    // If rectangle is visible, fill it.
    if (e.Graphics.IsVisible(x1, y1, width1, height1))
    {
        e.Graphics.FillRectangle(new SolidBrush(Color.Red), x1, y1, width1, height1);
    }
    if (e.Graphics.IsVisible(x2, y2, width2, height2))
    {
        e.Graphics.FillRectangle(new SolidBrush(Color.Blue), x2, y2, width2, height2);
    }
}
Private Sub IsVisible4Int(ByVal e As PaintEventArgs)

    ' Set clip region.
    Dim clipRegion As New [Region](New Rectangle(50, 50, 100, 100))
    e.Graphics.SetClip(clipRegion, CombineMode.Replace)

    ' Set up coordinates of rectangles.
    Dim x1 As Integer = 100
    Dim y1 As Integer = 100
    Dim width1 As Integer = 20
    Dim height1 As Integer = 20
    Dim x2 As Integer = 200
    Dim y2 As Integer = 200
    Dim width2 As Integer = 20
    Dim height2 As Integer = 20

    ' If rectangle is visible, fill it.
    If e.Graphics.IsVisible(x1, y1, width1, height1) Then
        e.Graphics.FillRectangle(New SolidBrush(Color.Red), x1, y1, _
        width1, height1)
    End If
    If e.Graphics.IsVisible(x2, y2, width2, height2) Then
        e.Graphics.FillRectangle(New SolidBrush(Color.Blue), x2, y2, _
        width2, height2)
    End If
End Sub

適用対象

IsVisible(Single, Single)

座標ペアで指定された点が、この Graphics の表示クリップ領域内にあるかどうかを示します。

public:
 bool IsVisible(float x, float y);
public bool IsVisible (float x, float y);
member this.IsVisible : single * single -> bool
Public Function IsVisible (x As Single, y As Single) As Boolean

パラメーター

x
Single

表示可能かどうかをテストする点の x 座標。

y
Single

表示可能かどうかをテストする点の y 座標。

戻り値

Boolean

x パラメーターと y パラメーターで定義された点がこの Graphics の表示クリップ領域内に含まれる場合は true。それ以外の場合は false

次のコード例は、Windows Forms で使用するように設計され、イベント ハンドラーのパラメーターである が PaintEventArgs e Paint 必要です。 コードは、次のアクションを実行します。

  • 四角形のクリッピング領域を作成し、 を使用してフォームのグラフィックス オブジェクトのクリッピング領域として設定します Replace

  • クリッピング領域内と外側の 2 つの点を作成します。

  • 各ポイントの可視性をテストし、表示されているポイントのみを描画します。

結果は、クリップ領域内にある 1 つの小さな赤い円になります。

public:
   void IsVisibleFloat( PaintEventArgs^ e )
   {
      // Set clip region.
      System::Drawing::Region^ clipRegion = gcnew System::Drawing::Region( Rectangle(50,50,100,100) );
      e->Graphics->SetClip( clipRegion, CombineMode::Replace );

      // Set up coordinates of points.
      float x1 = 100.0F;
      float y1 = 100.0F;
      float x2 = 200.0F;
      float y2 = 200.0F;

      // If point is visible, fill ellipse that represents it.
      if ( e->Graphics->IsVisible( x1, y1 ) )
      {
         e->Graphics->FillEllipse( gcnew SolidBrush( Color::Red ), x1, y1, 10.0F, 10.0F );
      }

      if ( e->Graphics->IsVisible( x2, y2 ) )
      {
         e->Graphics->FillEllipse( gcnew SolidBrush( Color::Blue ), x2, y2, 10.0F, 10.0F );
      }
   }
private void IsVisibleFloat(PaintEventArgs e)
{

    // Set clip region.
    Region clipRegion = new Region(new Rectangle(50, 50, 100, 100));
    e.Graphics.SetClip(clipRegion, CombineMode.Replace);

    // Set up coordinates of points.
    float x1 = 100.0F;
    float y1 = 100.0F;
    float x2 = 200.0F;
    float y2 = 200.0F;

    // If point is visible, fill ellipse that represents it.
    if (e.Graphics.IsVisible(x1, y1))
    {
        e.Graphics.FillEllipse(new SolidBrush(Color.Red), x1, y1, 10.0F, 10.0F);
    }
    if (e.Graphics.IsVisible(x2, y2))
    {
        e.Graphics.FillEllipse(new SolidBrush(Color.Blue), x2, y2, 10.0F, 10.0F);
    }
}
Private Sub IsVisibleFloat(ByVal e As PaintEventArgs)

    ' Set clip region.
    Dim clipRegion As New [Region](New Rectangle(50, 50, 100, 100))
    e.Graphics.SetClip(clipRegion, CombineMode.Replace)

    ' Set up coordinates of points.
    Dim x1 As Single = 100.0F
    Dim y1 As Single = 100.0F
    Dim x2 As Single = 200.0F
    Dim y2 As Single = 200.0F

    ' If point is visible, fill ellipse that represents it.
    If e.Graphics.IsVisible(x1, y1) Then
        e.Graphics.FillEllipse(New SolidBrush(Color.Red), x1, y1, _
        10.0F, 10.0F)
    End If
    If e.Graphics.IsVisible(x2, y2) Then
        e.Graphics.FillEllipse(New SolidBrush(Color.Blue), x2, y2, _
        10.0F, 10.0F)
    End If
End Sub

適用対象

IsVisible(Int32, Int32)

座標ペアで指定された点が、この Graphics の表示クリップ領域内にあるかどうかを示します。

public:
 bool IsVisible(int x, int y);
public bool IsVisible (int x, int y);
member this.IsVisible : int * int -> bool
Public Function IsVisible (x As Integer, y As Integer) As Boolean

パラメーター

x
Int32

表示可能かどうかをテストする点の x 座標。

y
Int32

表示可能かどうかをテストする点の y 座標。

戻り値

Boolean

x パラメーターと y パラメーターで定義された点がこの Graphics の表示クリップ領域内に含まれる場合は true。それ以外の場合は false

次のコード例は、Windows Forms で使用するように設計され、イベント ハンドラーのパラメーターである が PaintEventArgs e Paint 必要です。 コードは、次のアクションを実行します。

  • 四角形のクリッピング領域を作成し、 を使用してフォームのグラフィックス オブジェクトのクリッピング領域として設定します Replace

  • クリッピング領域内と外側の 2 つの点を作成します。

  • 各ポイントの可視性をテストし、表示されているポイントのみを描画します。

結果は、クリップ領域内にある 1 つの小さな赤い円になります。

public:
   void IsVisibleInt( PaintEventArgs^ e )
   {
      // Set clip region.
      System::Drawing::Region^ clipRegion = gcnew System::Drawing::Region( Rectangle(50,50,100,100) );
      e->Graphics->SetClip( clipRegion, CombineMode::Replace );

      // Set up coordinates of points.
      int x1 = 100;
      int y1 = 100;
      int x2 = 200;
      int y2 = 200;

      // If point is visible, fill ellipse that represents it.
      if ( e->Graphics->IsVisible( x1, y1 ) )
      {
         e->Graphics->FillEllipse( gcnew SolidBrush( Color::Red ), x1, y1, 10, 10 );
      }

      if ( e->Graphics->IsVisible( x2, y2 ) )
      {
         e->Graphics->FillEllipse( gcnew SolidBrush( Color::Blue ), x2, y2, 10, 10 );
      }
   }
private void IsVisibleInt(PaintEventArgs e)
{

    // Set clip region.
    Region clipRegion = new Region(new Rectangle(50, 50, 100, 100));
    e.Graphics.SetClip(clipRegion, CombineMode.Replace);

    // Set up coordinates of points.
    int x1 = 100;
    int y1 = 100;
    int x2 = 200;
    int y2 = 200;

    // If point is visible, fill ellipse that represents it.
    if (e.Graphics.IsVisible(x1, y1))
    {
        e.Graphics.FillEllipse(new SolidBrush(Color.Red), x1, y1, 10, 10);
    }
    if (e.Graphics.IsVisible(x2, y2))
    {
        e.Graphics.FillEllipse(new SolidBrush(Color.Blue), x2, y2, 10, 10);
    }
}
Private Sub IsVisibleInt(ByVal e As PaintEventArgs)

    ' Set clip region.
    Dim clipRegion As New [Region](New Rectangle(50, 50, 100, 100))
    e.Graphics.SetClip(clipRegion, CombineMode.Replace)

    ' Set up coordinates of points.
    Dim x1 As Integer = 100
    Dim y1 As Integer = 100
    Dim x2 As Integer = 200
    Dim y2 As Integer = 200

    ' If point is visible, fill ellipse that represents it.
    If e.Graphics.IsVisible(x1, y1) Then
        e.Graphics.FillEllipse(New SolidBrush(Color.Red), x1, y1, _
        10, 10)
    End If
    If e.Graphics.IsVisible(x2, y2) Then
        e.Graphics.FillEllipse(New SolidBrush(Color.Blue), x2, y2, _
        10, 10)
    End If
End Sub

適用対象

IsVisible(Rectangle)

この Graphics の表示クリップ領域内に、Rectangle 構造体で指定された四角形が含まれるかどうかを示します。

public:
 bool IsVisible(System::Drawing::Rectangle rect);
public bool IsVisible (System.Drawing.Rectangle rect);
member this.IsVisible : System.Drawing.Rectangle -> bool
Public Function IsVisible (rect As Rectangle) As Boolean

パラメーター

rect
Rectangle

表示可能範囲をテストする Rectangle 構造体。

戻り値

Boolean

rect パラメーターで指定された四角形がこの Graphics の表示クリップ領域内に含まれる場合は true。それ以外の場合は false

次のコード例は、Windows Forms で使用するように設計され、イベント ハンドラーのパラメーターである が PaintEventArgs e Paint 必要です。 コードは、次のアクションを実行します。

  • 四角形のクリッピング領域を作成し、 を使用してフォームのグラフィックス オブジェクトのクリッピング領域として設定します Replace

  • クリッピング領域内と外側の 2 つの四角形の位置とサイズを作成します。

  • 各四角形の可視性をテストし、表示されている四角形のみを描画します。

その結果、1 つの小さな赤い四角形がクリップ領域内に表示されます。

public:
   void IsVisibleRectangle( PaintEventArgs^ e )
   {
      // Set clip region.
      System::Drawing::Region^ clipRegion = gcnew System::Drawing::Region( Rectangle(50,50,100,100) );
      e->Graphics->SetClip( clipRegion, CombineMode::Replace );

      // Set up coordinates of rectangles.
      Rectangle rect1 = Rectangle(100,100,20,20);
      Rectangle rect2 = Rectangle(200,200,20,20);

      // If rectangle is visible, fill it.
      if ( e->Graphics->IsVisible( rect1 ) )
      {
         e->Graphics->FillRectangle( gcnew SolidBrush( Color::Red ), rect1 );
      }

      if ( e->Graphics->IsVisible( rect2 ) )
      {
         e->Graphics->FillRectangle( gcnew SolidBrush( Color::Blue ), rect2 );
      }
   }
private void IsVisibleRectangle(PaintEventArgs e)
{

    // Set clip region.
    Region clipRegion = new Region(new Rectangle(50, 50, 100, 100));
    e.Graphics.SetClip(clipRegion, CombineMode.Replace);

    // Set up coordinates of rectangles.
    Rectangle rect1 = new Rectangle(100, 100, 20, 20);
    Rectangle rect2 = new Rectangle(200, 200, 20, 20);

    // If rectangle is visible, fill it.
    if (e.Graphics.IsVisible(rect1))
    {
        e.Graphics.FillRectangle(new SolidBrush(Color.Red), rect1);
    }
    if (e.Graphics.IsVisible(rect2))
    {
        e.Graphics.FillRectangle(new SolidBrush(Color.Blue), rect2);
    }
}
Private Sub IsVisibleRectangle(ByVal e As PaintEventArgs)

    ' Set clip region.
    Dim clipRegion As New [Region](New Rectangle(50, 50, 100, 100))
    e.Graphics.SetClip(clipRegion, CombineMode.Replace)

    ' Set up coordinates of rectangles.
    Dim rect1 As New Rectangle(100, 100, 20, 20)
    Dim rect2 As New Rectangle(200, 200, 20, 20)

    ' If rectangle is visible, fill it.
    If e.Graphics.IsVisible(rect1) Then
        e.Graphics.FillRectangle(New SolidBrush(Color.Red), rect1)
    End If
    If e.Graphics.IsVisible(rect2) Then
        e.Graphics.FillRectangle(New SolidBrush(Color.Blue), rect2)
    End If
End Sub

適用対象

IsVisible(PointF)

この Graphics の表示クリップ領域内に、指定した PointF 構造体が含まれるかどうかを示します。

public:
 bool IsVisible(System::Drawing::PointF point);
public bool IsVisible (System.Drawing.PointF point);
member this.IsVisible : System.Drawing.PointF -> bool
Public Function IsVisible (point As PointF) As Boolean

パラメーター

point
PointF

表示可能範囲をテストする PointF 構造体。

戻り値

Boolean

point パラメーターで指定された点がこの Graphics の表示クリップ領域内に含まれる場合は true。それ以外の場合は false

次のコード例は、Windows Forms で使用するように設計され、イベント ハンドラーのパラメーターである が PaintEventArgs e Paint 必要です。 コードは、次のアクションを実行します。

  • 四角形のクリッピング領域を作成し、 を使用してフォームのグラフィックスのクリッピング領域として設定します Replace

  • クリッピング領域内と外側の 2 つの点を作成します。

  • 各ポイントの可視性をテストし、表示されているポイントのみを描画します。

結果は、クリップ領域内にある 1 つの小さな赤い円になります。

public:
   void IsVisiblePointF( PaintEventArgs^ e )
   {
      // Set clip region.
      System::Drawing::Region^ clipRegion = gcnew System::Drawing::Region( Rectangle(50,50,100,100) );
      e->Graphics->SetClip( clipRegion, CombineMode::Replace );

      // Set up coordinates of points.
      float x1 = 100.0F;
      float y1 = 100.0F;
      float x2 = 200.0F;
      float y2 = 200.0F;
      PointF point1 = PointF(x1,y1);
      PointF point2 = PointF(x2,y2);

      // If point is visible, fill ellipse that represents it.
      if ( e->Graphics->IsVisible( point1 ) )
      {
         e->Graphics->FillEllipse( gcnew SolidBrush( Color::Red ), x1, y1, 10.0F, 10.0F );
      }

      if ( e->Graphics->IsVisible( point2 ) )
      {
         e->Graphics->FillEllipse( gcnew SolidBrush( Color::Blue ), x2, y2, 10.0F, 10.0F );
      }
   }
private void IsVisiblePointF(PaintEventArgs e)
{

    // Set clip region.
    Region clipRegion = new Region(new Rectangle(50, 50, 100, 100));
    e.Graphics.SetClip(clipRegion, CombineMode.Replace);

    // Set up coordinates of points.
    float x1 = 100.0F;
    float y1 = 100.0F;
    float x2 = 200.0F;
    float y2 = 200.0F;
    PointF point1 = new PointF(x1, y1);
    PointF point2 = new PointF(x2, y2);

    // If point is visible, fill ellipse that represents it.
    if (e.Graphics.IsVisible(point1))
    {
        e.Graphics.FillEllipse(new SolidBrush(Color.Red), x1, y1, 10.0F, 10.0F);
    }
    if (e.Graphics.IsVisible(point2))
    {
        e.Graphics.FillEllipse(new SolidBrush(Color.Blue), x2, y2, 10.0F, 10.0F);
    }
}
Private Sub IsVisiblePointF(ByVal e As PaintEventArgs)

    ' Set clip region.
    Dim clipRegion As New [Region](New Rectangle(50, 50, 100, 100))
    e.Graphics.SetClip(clipRegion, CombineMode.Replace)

    ' Set up coordinates of points.
    Dim x1 As Single = 100.0F
    Dim y1 As Single = 100.0F
    Dim x2 As Single = 200.0F
    Dim y2 As Single = 200.0F
    Dim point1 As New PointF(x1, y1)
    Dim point2 As New PointF(x2, y2)

    ' If point is visible, fill ellipse that represents it.
    If e.Graphics.IsVisible(point1) Then
        e.Graphics.FillEllipse(New SolidBrush(Color.Red), x1, y1, _
        10.0F, 10.0F)
    End If
    If e.Graphics.IsVisible(point2) Then
        e.Graphics.FillEllipse(New SolidBrush(Color.Blue), x2, y2, _
        10.0F, 10.0F)
    End If
End Sub

適用対象

IsVisible(Point)

この Graphics の表示クリップ領域内に、指定した Point 構造体が含まれるかどうかを示します。

public:
 bool IsVisible(System::Drawing::Point point);
public bool IsVisible (System.Drawing.Point point);
member this.IsVisible : System.Drawing.Point -> bool
Public Function IsVisible (point As Point) As Boolean

パラメーター

point
Point

表示可能範囲をテストする Point 構造体。

戻り値

Boolean

point パラメーターで指定された点がこの Graphics の表示クリップ領域内に含まれる場合は true。それ以外の場合は false

次のコード例は、Windows Forms で使用するように設計され、イベント ハンドラーのパラメーターである が PaintEventArgs e Paint 必要です。 コードは、次のアクションを実行します。

  • 四角形のクリッピング領域を作成し、 を使用してフォームのグラフィックス オブジェクトのクリッピング領域として設定します Replace

  • クリッピング領域内と外側の 2 つの点を作成します。

  • 各ポイントの可視性をテストし、表示されているポイントのみを描画します。

結果は、クリップ領域内にある 1 つの小さな赤い円になります。

public:
   void IsVisiblePoint( PaintEventArgs^ e )
   {
      // Set clip region.
      System::Drawing::Region^ clipRegion = gcnew System::Drawing::Region( Rectangle(50,50,100,100) );
      e->Graphics->SetClip( clipRegion, CombineMode::Replace );

      // Set up coordinates of points.
      int x1 = 100;
      int y1 = 100;
      int x2 = 200;
      int y2 = 200;
      Point point1 = Point(x1,y1);
      Point point2 = Point(x2,y2);

      // If point is visible, fill ellipse that represents it.
      if ( e->Graphics->IsVisible( point1 ) )
      {
         e->Graphics->FillEllipse( gcnew SolidBrush( Color::Red ), x1, y1, 10, 10 );
      }

      if ( e->Graphics->IsVisible( point2 ) )
      {
         e->Graphics->FillEllipse( gcnew SolidBrush( Color::Blue ), x2, y2, 10, 10 );
      }
   }
private void IsVisiblePoint(PaintEventArgs e)
{

    // Set clip region.
    Region clipRegion = new Region(new Rectangle(50, 50, 100, 100));
    e.Graphics.SetClip(clipRegion, CombineMode.Replace);

    // Set up coordinates of points.
    int x1 = 100;
    int y1 = 100;
    int x2 = 200;
    int y2 = 200;
    Point point1 = new Point(x1, y1);
    Point point2 = new Point(x2, y2);

    // If point is visible, fill ellipse that represents it.
    if (e.Graphics.IsVisible(point1))
    {
        e.Graphics.FillEllipse(new SolidBrush(Color.Red), x1, y1, 10, 10);
    }
    if (e.Graphics.IsVisible(point2))
    {
        e.Graphics.FillEllipse(new SolidBrush(Color.Blue), x2, y2, 10, 10);
    }
}
Private Sub IsVisiblePoint(ByVal e As PaintEventArgs)

    ' Set clip region.
    Dim clipRegion As New [Region](New Rectangle(50, 50, 100, 100))
    e.Graphics.SetClip(clipRegion, CombineMode.Replace)

    ' Set up coordinates of points.
    Dim x1 As Integer = 100
    Dim y1 As Integer = 100
    Dim x2 As Integer = 200
    Dim y2 As Integer = 200
    Dim point1 As New Point(x1, y1)
    Dim point2 As New Point(x2, y2)

    ' If point is visible, fill ellipse that represents it.
    If e.Graphics.IsVisible(point1) Then
        e.Graphics.FillEllipse(New SolidBrush(Color.Red), x1, y1, _
        10, 10)
    End If
    If e.Graphics.IsVisible(point2) Then
        e.Graphics.FillEllipse(New SolidBrush(Color.Blue), x2, y2, _
        10, 10)
    End If
End Sub

適用対象

IsVisible(RectangleF)

この Graphics の表示クリップ領域内に、RectangleF 構造体で指定された四角形が含まれるかどうかを示します。

public:
 bool IsVisible(System::Drawing::RectangleF rect);
public bool IsVisible (System.Drawing.RectangleF rect);
member this.IsVisible : System.Drawing.RectangleF -> bool
Public Function IsVisible (rect As RectangleF) As Boolean

パラメーター

rect
RectangleF

表示可能範囲をテストする RectangleF 構造体。

戻り値

Boolean

rect パラメーターで指定された四角形がこの Graphics の表示クリップ領域内に含まれる場合は true。それ以外の場合は false

次のコード例は、Windows Forms で使用するように設計され、イベント ハンドラーのパラメーターである が PaintEventArgs e Paint 必要です。 コードは、次のアクションを実行します。

  • 四角形のクリッピング領域を作成し、 を使用してフォームのグラフィックス オブジェクトのクリッピング領域として設定します Replace

  • クリッピング領域内と外側の 2 つの四角形を作成します。

  • 各四角形の可視性をテストし、表示されている四角形のみを描画します。

その結果、1 つの小さな赤い四角形がクリップ領域内に表示されます。

public:
   void IsVisibleRectangleF( PaintEventArgs^ e )
   {
      // Set clip region.
      System::Drawing::Region^ clipRegion = gcnew System::Drawing::Region( Rectangle(50,50,100,100) );
      e->Graphics->SetClip( clipRegion, CombineMode::Replace );

      // Set up coordinates of rectangles.
      RectangleF rect1 = RectangleF(100.0F,100.0F,20.0F,20.0F);
      RectangleF rect2 = RectangleF(200.0F,200.0F,20.0F,20.0F);

      // If rectangle is visible, fill it.
      if ( e->Graphics->IsVisible( rect1 ) )
      {
         e->Graphics->FillRectangle( gcnew SolidBrush( Color::Red ), rect1 );
      }

      if ( e->Graphics->IsVisible( rect2 ) )
      {
         e->Graphics->FillRectangle( gcnew SolidBrush( Color::Blue ), rect2 );
      }
   }
private void IsVisibleRectangleF(PaintEventArgs e)
{

    // Set clip region.
    Region clipRegion = new Region(new Rectangle(50, 50, 100, 100));
    e.Graphics.SetClip(clipRegion, CombineMode.Replace);

    // Set up coordinates of rectangles.
    RectangleF rect1 = new RectangleF(100.0F, 100.0F, 20.0F, 20.0F);
    RectangleF rect2 = new RectangleF(200.0F, 200.0F, 20.0F, 20.0F);

    // If rectangle is visible, fill it.
    if (e.Graphics.IsVisible(rect1))
    {
        e.Graphics.FillRectangle(new SolidBrush(Color.Red), rect1);
    }
    if (e.Graphics.IsVisible(rect2))
    {
        e.Graphics.FillRectangle(new SolidBrush(Color.Blue), rect2);
    }
}
Private Sub IsVisibleRectangleF(ByVal e As PaintEventArgs)

    ' Set clip region.
    Dim clipRegion As New [Region](New Rectangle(50, 50, 100, 100))
    e.Graphics.SetClip(clipRegion, CombineMode.Replace)

    ' Set up coordinates of rectangles.
    Dim rect1 As New RectangleF(100.0F, 100.0F, 20.0F, 20.0F)
    Dim rect2 As New RectangleF(200.0F, 200.0F, 20.0F, 20.0F)

    ' If rectangle is visible, fill it.
    If e.Graphics.IsVisible(rect1) Then
        e.Graphics.FillRectangle(New SolidBrush(Color.Red), rect1)
    End If
    If e.Graphics.IsVisible(rect2) Then
        e.Graphics.FillRectangle(New SolidBrush(Color.Blue), rect2)
    End If
End Sub

適用対象