Export (0) Print
Expand All

Graphics.IsVisible Method (Single, Single, Single, Single)

Indicates whether the rectangle specified by a pair of coordinates, a width, and a height is contained within the visible clip region of this Graphics.

Namespace:  System.Drawing
Assembly:  System.Drawing (in System.Drawing.dll)

'Declaration
Public Function IsVisible ( _
	x As Single, _
	y As Single, _
	width As Single, _
	height As Single _
) As Boolean

Parameters

x
Type: System.Single

The x-coordinate of the upper-left corner of the rectangle to test for visibility.

y
Type: System.Single

The y-coordinate of the upper-left corner of the rectangle to test for visibility.

width
Type: System.Single

Width of the rectangle to test for visibility.

height
Type: System.Single

Height of the rectangle to test for visibility.

Return Value

Type: System.Boolean
true if the rectangle defined by the x, y, width, and height parameters is contained within the visible clip region of this Graphics; otherwise, false.

The following code example is designed for use with Windows Forms, and it requires PaintEventArgs e, which is a parameter of the Paint event handler. The code performs the following actions:

  • Creates a rectangular clipping region and sets it as the clipping region for the graphics object of the form using Replace.

  • Creates the location and size of two rectangles, one inside the clipping region and one outside.

  • Tests each of the rectangles for visibility and draws only the visible one.

The result is one small red rectangle, which is within the clip region.

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

.NET Framework

Supported in: 4.6, 4.5, 4, 3.5, 3.0, 2.0, 1.1

.NET Framework Client Profile

Supported in: 4, 3.5 SP1
Show:
© 2015 Microsoft