martes, 10 de noviembre de 2009

Obtener la captura de la pantalla en VB .Net sin API

Bueno pues aqui les dejo una funcion para obtener la captura de la pantalla utilizando objetos declarados con el namespace System.Drawing, simplemente mandamos a llamar la funcion y nos devolvera un objeto del tipo image, el cual podemos almacenar o asignar a un PictureBox


Private Function CaptureScreen() As Image
'Declaramos un rectangulo llamado limites
Dim Limites As Rectangle
'Decalaramos un mapa de bits para almacenar nuestro resultado
Dim Captura As System.Drawing.Bitmap
'Declaramos un grafico para obtener la captura
Dim graph As Graphics
'El rectangulo tiene el tamaño de nuestra pantalla
Limites = Screen.PrimaryScreen.Bounds
'Creamos el nuevo bitmap con el tamaño del rectangulo
Captura = New System.Drawing.Bitmap(Limites.Width, Limites.Height, _
System.Drawing.Imaging.PixelFormat.Format32bppArgb)
'Guardamos el resultado en el grafico
graph = Graphics.FromImage(Captura)
'Obtenemos la imagen dentro de nuestra pantalla a nuetro grafico
graph.CopyFromScreen(Limites.X, Limites.Y, 0, 0, Limites.Size, CopyPixelOperation.SourceCopy)
'Devolvemos la imagen
Return Captura
End Function

Despues de esto tan solo habria que llamar la funcion de la siguiente forma:

PictureBox1.image = CaptureScreen() 

Con esta funcion nos evitamos utilizar las APIs y lo hacemos mediante graficos, sencillo y eficaz

Probado en Visual Basic.Net  2008

No hay comentarios:

Publicar un comentario