Utilizo el siguiente codigo que obtube de internet para capturar una imagen de la oantalla del escritorio.
El problema es que crea una imgen.bmp que pesa 2.25MB y yo quiero que cree un imagen.png que segun mis calculos pesaria unos 60kb como veran la diferencia es enorme como lo soluciono quizas cambiando el vbCFBitmap por uno para .png??
Código:
Option Explicit
'Api para generar un evento de tecla, en este caso Print Screen
''''''''''''''''''''''''''''''''''''''''''''''''''''''
Private Declare Sub keybd_event Lib "user32" (ByVal bVk As Byte, ByVal bScan As Byte, ByVal dwFlags As Long, ByVal dwExtraInfo As Long)
Private Sub Capturar_Guardar(Path As String)
' borra el portapapeles
Clipboard.Clear
' Manda la pulsación de teclas para capturar la imagen de la pantalla
Call keybd_event(44, 2, 0, 0)
DoEvents
' Si el formato del clipboard es un bitmap
If Clipboard.GetFormat(vbCFBitmap) Then
'Guardamos la imagen en disco
SavePicture Clipboard.GetData(vbCFBitmap), Path
MsgBox " Captura generada en: " & Path, vbInformation
Picture1.Picture = Clipboard.GetData(vbCFBitmap)
Else
MsgBox " Error ", vbCritical
End If
End Sub
Private Sub Command1_Click()
Call Capturar_Guardar(App.Path & "\pantalla.bmp")
End Sub