Tengo un codigo que convierte un Png en Bmp que ocupas una Dll tambien, pero me sirve muy bien. si gustas te lo envio a tu email.. solo enviame uno al mio con tu pregunta y lo que te respondi (ya que aqui a veces no veo las respuestas que di otra vez)
Solo es :
Dim dib As Long
Dim bOk As Long
' leer la imagen que esta en formato PNG
dib = FreeImage_Load(FIF_PNG, The_Image, 0)
' guardar la imagen como BMP
bOk = FreeImage_Save(FIF_BMP, dib, "miimagen.bmp", 0)
FreeImage_Unload (dib)
Picture1.Picture = LoadPicture("miimagen.bmp")
' ----------------------------------- En un modulo va
Public Enum FREE_IMAGE_FORMAT
FIF_UNKNOWN = -1
FIF_BMP = 0
FIF_ICO = 1
FIF_JPEG = 2
FIF_JNG = 3
FIF_KOALA = 4
FIF_LBM = 5
FIF_IFF = FIF_LBM
FIF_MNG = 6
FIF_PBM = 7
FIF_PBMRAW = 8
FIF_PCD = 9
FIF_PCX = 10
FIF_PGM = 11
FIF_PGMRAW = 12
FIF_PNG = 13
FIF_PPM = 14
FIF_PPMRAW = 15
FIF_RAS = 16
FIF_TARGA = 17
FIF_TIFF = 18
FIF_WBMP = 19
FIF_PSD = 20
FIF_CUT = 21
FIF_XBM = 22
FIF_XPM = 23
FIF_DDS = 24
FIF_GIF = 25
End Enum
Public Declare Sub FreeImage_Unload Lib "FreeImage.dll" Alias "_FreeImage_Unload@4" (ByVal dib As Long)
Public Declare Function FreeImage_Load Lib "FreeImage.dll" Alias "_FreeImage_Load@12" (ByVal fif As FREE_IMAGE_FORMAT, ByVal filename As String, Optional ByVal flags As Long = 0) As Long
Public Declare Function FreeImage_Save Lib "FreeImage.dll" Alias "_FreeImage_Save@16" (ByVal fif As FREE_IMAGE_FORMAT, ByVal dib As Long, ByVal filename As String, Optional ByVal flags As Long = 0) As Long