語言

Graphics.IsVisible 方法

定義

表示由一對座標指定的點是否包含於此 Graphics座標的可見剪裁區域內。

多載

名稱 Description
IsVisible(Single, Single, Single, Single)

表示由一對座標、寬度與高度所指定的矩形是否包含在此 Graphics矩形的可見剪裁區域內。

IsVisible(Int32, Int32, Int32, Int32)

表示由一對座標、寬度與高度所指定的矩形是否包含在此 Graphics矩形的可見剪裁區域內。

IsVisible(Int32, Int32)

表示由一對座標指定的點是否包含於此 Graphics座標的可見剪裁區域內。

IsVisible(Single, Single)

表示由一對座標指定的點是否包含於此 Graphics座標的可見剪裁區域內。

IsVisible(Rectangle)

表示結構指定的 Rectangle 矩形是否包含在此 Graphics的可見剪裁區域內。

IsVisible(PointF)

表示指定 PointF 結構是否包含在此 Graphics的可見剪裁區域內。

IsVisible(Point)

表示指定 Point 結構是否包含在此 Graphics的可見剪裁區域內。

IsVisible(RectangleF)

表示結構指定的 RectangleF 矩形是否包含在此 Graphics的可見剪裁區域內。

IsVisible(Single, Single, Single, Single)

來源:
Graphics.cs
來源:
Graphics.cs
來源:
Graphics.cs
來源:
Graphics.cs
來源:
Graphics.cs
來源:
Graphics.cs
來源:
Graphics.cs
來源:
Graphics.cs
來源:
Graphics.cs

表示由一對座標、寬度與高度所指定的矩形是否包含在此 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

長方形的高度來測試可見度。

傳回

true若由 、 、 及 參數定義的矩形包含於此x可見的剪裁區域內;否則, y。widthheightGraphicsfalse

範例

以下程式碼範例是為 Windows Forms 設計的,並需要 PaintEventArgse,這是 Paint 事件處理程序的參數。 此程式碼會執行下列動作:

  • 建立一個矩形裁剪區域,並使用 Replace。

  • 建立兩個矩形的位置與大小,一個在裁切區域內,一個在外部。

  • 測試每個矩形的可見性,只畫出可見的那個。

結果是一個小紅色矩形,位於剪接區域內。

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.cs
來源:
Graphics.cs
來源:
Graphics.cs
來源:
Graphics.cs
來源:
Graphics.cs
來源:
Graphics.cs
來源:
Graphics.cs
來源:
Graphics.cs
來源:
Graphics.cs

表示由一對座標、寬度與高度所指定的矩形是否包含在此 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

長方形的高度來測試可見度。

傳回

true若由 、 、 及 參數定義的矩形包含於此x可見的剪裁區域內;否則, y。widthheightGraphicsfalse

範例

以下程式碼範例是為 Windows Forms 設計的,並需要 PaintEventArgse,這是 Paint 事件處理程序的參數。 此程式碼會執行下列動作:

  • 建立一個矩形裁剪區域,並使用 Replace。

  • 建立兩個矩形的位置與大小,一個在裁切區域內,一個在外部。

  • 測試每個矩形的可見性,只畫出可見的那個。

結果是一個小紅色矩形,位於剪接區域內。

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(Int32, Int32)

來源:
Graphics.cs
來源:
Graphics.cs
來源:
Graphics.cs
來源:
Graphics.cs
來源:
Graphics.cs
來源:
Graphics.cs
來源:
Graphics.cs
來源:
Graphics.cs
來源:
Graphics.cs

表示由一對座標指定的點是否包含於此 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 座標。

傳回

true若由 和 x 參數定義y的點包含在此 的可見剪裁區域Graphics內;否則,。 false

範例

以下程式碼範例是為 Windows Forms 設計的,並需要 PaintEventArgse,這是 Paint 事件處理程序的參數。 此程式碼會執行下列動作:

  • 建立一個矩形裁剪區域,並使用 Replace。

  • 會產生兩個點,一個在裁剪區域內,一個在外部。

  • 測試每個點的可見度,只抽取可見一點。

結果是一個小紅圈,位於剪輯區域內。

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(Single, Single)

來源:
Graphics.cs
來源:
Graphics.cs
來源:
Graphics.cs
來源:
Graphics.cs
來源:
Graphics.cs
來源:
Graphics.cs
來源:
Graphics.cs
來源:
Graphics.cs
來源:
Graphics.cs

表示由一對座標指定的點是否包含於此 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 座標。

傳回

true若由 和 x 參數定義y的點包含在此 的可見剪裁區域Graphics內;否則,。 false

範例

以下程式碼範例是為 Windows Forms 設計的,並需要 PaintEventArgse,這是 Paint 事件處理程序的參數。 此程式碼會執行下列動作:

  • 建立一個矩形裁剪區域,並使用 Replace。

  • 會產生兩個點,一個在裁剪區域內,一個在外部。

  • 測試每個點的可見度,只抽取可見一點。

結果是一個小紅圈,位於剪輯區域內。

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(Rectangle)

來源:
Graphics.cs
來源:
Graphics.cs
來源:
Graphics.cs
來源:
Graphics.cs
來源:
Graphics.cs
來源:
Graphics.cs
來源:
Graphics.cs
來源:
Graphics.cs
來源:
Graphics.cs

表示結構指定的 Rectangle 矩形是否包含在此 Graphics的可見剪裁區域內。

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 結構用來測試可見性。

傳回

true如果參數指定的rect矩形包含在此矩形的可見剪裁區域Graphics內;否則,。 false

範例

以下程式碼範例是為 Windows Forms 設計的,並需要 PaintEventArgse,這是 Paint 事件處理程序的參數。 此程式碼會執行下列動作:

  • 建立一個矩形裁剪區域,並使用 Replace。

  • 建立兩個矩形的位置與大小,一個在裁切區域內,一個在外部。

  • 測試每個矩形的可見性,只畫出可見的那個。

結果是一個小紅色矩形,位於剪接區域內。

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.cs
來源:
Graphics.cs
來源:
Graphics.cs
來源:
Graphics.cs
來源:
Graphics.cs
來源:
Graphics.cs
來源:
Graphics.cs
來源:
Graphics.cs
來源:
Graphics.cs

表示指定 PointF 結構是否包含在此 Graphics的可見剪裁區域內。

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 結構用來測試可見性。

傳回

true若參數指定的point點包含於此Graphics可視剪裁區域內;否則,。 false

範例

以下程式碼範例是為 Windows Forms 設計的,並需要 PaintEventArgse,這是 Paint 事件處理程序的參數。 此程式碼會執行下列動作:

  • 建立一個矩形裁剪區域,並用 設定為表單 Replace圖形的裁剪區域。

  • 會產生兩個點,一個在裁剪區域內,一個在外部。

  • 測試每個點的可見度,只抽取可見一點。

結果是一個小紅圈,位於剪輯區域內。

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.cs
來源:
Graphics.cs
來源:
Graphics.cs
來源:
Graphics.cs
來源:
Graphics.cs
來源:
Graphics.cs
來源:
Graphics.cs
來源:
Graphics.cs
來源:
Graphics.cs

表示指定 Point 結構是否包含在此 Graphics的可見剪裁區域內。

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 結構用來測試可見性。

傳回

true若參數指定的point點包含於此Graphics可視剪裁區域內;否則,。 false

範例

以下程式碼範例是為 Windows Forms 設計的,並需要 PaintEventArgse,這是 Paint 事件處理程序的參數。 此程式碼會執行下列動作:

  • 建立一個矩形裁剪區域,並使用 Replace。

  • 會產生兩個點,一個在裁剪區域內,一個在外部。

  • 測試每個點的可見度,只抽取可見一點。

結果是一個小紅圈,位於剪輯區域內。

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.cs
來源:
Graphics.cs
來源:
Graphics.cs
來源:
Graphics.cs
來源:
Graphics.cs
來源:
Graphics.cs
來源:
Graphics.cs
來源:
Graphics.cs
來源:
Graphics.cs

表示結構指定的 RectangleF 矩形是否包含在此 Graphics的可見剪裁區域內。

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 結構用來測試可見性。

傳回

true如果參數指定的rect矩形包含在此矩形的可見剪裁區域Graphics內;否則,。 false

範例

以下程式碼範例是為 Windows Forms 設計的,並需要 PaintEventArgse,這是 Paint 事件處理程序的參數。 此程式碼會執行下列動作:

  • 建立一個矩形裁剪區域,並使用 Replace。

  • 會產生兩個矩形,一個在裁切區域內,一個在外部。

  • 測試每個矩形的可見性,只畫出可見的那個。

結果是一個小紅色矩形,位於剪接區域內。

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

適用於