Ver Mensaje Individual
  #1 (permalink)  
Antiguo 04/01/2009, 15:56
franko1809
 
Fecha de Ingreso: enero-2008
Ubicación: Lima - Perú
Mensajes: 1.127
Antigüedad: 16 años, 3 meses
Puntos: 10
Cambiar el formato de una imagen bmp a png

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