.net写的抓屏函数

写的很完善的屏幕抓图函数,可以直接使用。

    ''' <summary>
    ''' 屏幕截图
    ''' </summary>
    ''' <param name="handle">截图的目标对象句柄(不正确的句柄表示截取全屏)</param>
    ''' <returns></returns>
    ''' <remarks></remarks>
    Public Function SnapScreen(ByVal handle As Integer) As System.Drawing.Image
        Dim grc As System.Drawing.Graphics = Nothing

        Try
            Dim rect As System.Drawing.Rectangle
            Dim control As System.Windows.Forms.Control = System.Windows.Forms.Control.FromHandle(New System.IntPtr(handle))

            If control Is Nothing Then
                rect = Screen.PrimaryScreen.WorkingArea
            Else
                rect = New System.Drawing.Rectangle(control.Location, control.Size)
            End If

            Dim bmp As New System.Drawing.Bitmap(rect.Size.Width, rect.Size.Height)
            grc = System.Drawing.Graphics.FromImage(bmp)
            grc.CopyFromScreen(rect.X, rect.Y, 0, 0, rect.Size)

            Return bmp
        Catch ex As Exception
            Throw ex
        Finally
            If grc IsNot Nothing Then
                grc.Dispose()
            End If
        End Try
    End Function

 

阅读更多
想对作者说点什么?

博主推荐

换一批

没有更多推荐了,返回首页