다음을 통해 공유


Graphics.IsVisible 메서드

정의

좌표 쌍으로 지정된 점이 이 Graphics표시되는 클립 영역 내에 포함되어 있는지 여부를 나타냅니다.

오버로드

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)

Source:
Graphics.cs
Source:
Graphics.cs
Source:
Graphics.cs
Source:
Graphics.cs
Source:
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, widthheight 매개 변수로 정의된 사각형이 이 Graphics표시되는 클립 영역 내에 포함되어 있는지 확인합니다. 그렇지 않으면 false.

예제

다음 코드 예제는 Windows Forms에서 사용하도록 설계되었으며 Paint 이벤트 처리기의 매개 변수인 PaintEventArgse필요합니다. 코드는 다음 작업을 수행합니다.

  • 사각형 클리핑 영역을 만들고 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)

Source:
Graphics.cs
Source:
Graphics.cs
Source:
Graphics.cs
Source:
Graphics.cs
Source:
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, widthheight 매개 변수로 정의된 사각형이 이 Graphics표시되는 클립 영역 내에 포함되어 있는지 확인합니다. 그렇지 않으면 false.

예제

다음 코드 예제는 Windows Forms에서 사용하도록 설계되었으며 Paint 이벤트 처리기의 매개 변수인 PaintEventArgse필요합니다. 코드는 다음 작업을 수행합니다.

  • 사각형 클리핑 영역을 만들고 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)

Source:
Graphics.cs
Source:
Graphics.cs
Source:
Graphics.cs
Source:
Graphics.cs
Source:
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 xy 매개 변수로 정의된 점이 이 Graphics표시되는 클립 영역 내에 포함되어 있는지 확인합니다. 그렇지 않으면 false.

예제

다음 코드 예제는 Windows Forms에서 사용하도록 설계되었으며 Paint 이벤트 처리기의 매개 변수인 PaintEventArgse필요합니다. 코드는 다음 작업을 수행합니다.

  • 사각형 클리핑 영역을 만들고 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)

Source:
Graphics.cs
Source:
Graphics.cs
Source:
Graphics.cs
Source:
Graphics.cs
Source:
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 xy 매개 변수로 정의된 점이 이 Graphics표시되는 클립 영역 내에 포함되어 있는지 확인합니다. 그렇지 않으면 false.

예제

다음 코드 예제는 Windows Forms에서 사용하도록 설계되었으며 Paint 이벤트 처리기의 매개 변수인 PaintEventArgse필요합니다. 코드는 다음 작업을 수행합니다.

  • 사각형 클리핑 영역을 만들고 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)

Source:
Graphics.cs
Source:
Graphics.cs
Source:
Graphics.cs
Source:
Graphics.cs
Source:
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에서 사용하도록 설계되었으며 Paint 이벤트 처리기의 매개 변수인 PaintEventArgse필요합니다. 코드는 다음 작업을 수행합니다.

  • 사각형 클리핑 영역을 만들고 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)

Source:
Graphics.cs
Source:
Graphics.cs
Source:
Graphics.cs
Source:
Graphics.cs
Source:
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에서 사용하도록 설계되었으며 Paint 이벤트 처리기의 매개 변수인 PaintEventArgse필요합니다. 코드는 다음 작업을 수행합니다.

  • 사각형 클리핑 영역을 만들고 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)

Source:
Graphics.cs
Source:
Graphics.cs
Source:
Graphics.cs
Source:
Graphics.cs
Source:
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에서 사용하도록 설계되었으며 Paint 이벤트 처리기의 매개 변수인 PaintEventArgse필요합니다. 코드는 다음 작업을 수행합니다.

  • 사각형 클리핑 영역을 만들고 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)

Source:
Graphics.cs
Source:
Graphics.cs
Source:
Graphics.cs
Source:
Graphics.cs
Source:
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에서 사용하도록 설계되었으며 Paint 이벤트 처리기의 매개 변수인 PaintEventArgse필요합니다. 코드는 다음 작업을 수행합니다.

  • 사각형 클리핑 영역을 만들고 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

적용 대상