Graphics.IsVisible Method (Int32, Int32, Int32, Int32)
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.
Assembly: System.Drawing (in System.Drawing.dll)
Public Function IsVisible ( x As Integer, y As Integer, width As Integer, height As Integer ) As Boolean
Parameters
- x
-
Type:
System.Int32
The x-coordinate of the upper-left corner of the rectangle to test for visibility.
- y
-
Type:
System.Int32
The y-coordinate of the upper-left corner of the rectangle to test for visibility.
- width
-
Type:
System.Int32
Width of the rectangle to test for visibility.
- height
-
Type:
System.Int32
Height of the rectangle to test for visibility.
Return Value
Type: System.Booleantrue 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 PaintEventArgse, 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 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
Available since 1.1