Imagenes Multi Tif, JPGs, GIFs, etc.. en .NET

Ayer necesitaba convertir un multi tiff (multiples imágenes en un solo archivo) a varios JPGs o GIFs… ufff un caos, ya que directamente al cargar un Multitiff y realizar la conversión a jpg o gif, solo me tomaba la primera imagen del multi tiff… buscando por internet (san google) encontré la información en varias partes, por eso mismo cree una rutina en donde saqué un poco de código de un lado y de otros lados.

 

Por si alguien en algún momento lo llega a utilizar consuntar aqui.


 

Antiguamente para Visual Basic 6.0 (y gracias a mi jefe) utilizaba la herramienta Lead Tools, en realidad solo la utilicé para visualizar imagenes multi tiff  y hacer un par de cosas, transformaciones, etc… mi jefe usaba bastante esta herramienta, la cual llegaba hasta el reconocimiento de letras y números, bastante buena… ahora con .NET solo se requieren un par de elementos y listo… ya estaba pensando en utilizar LeadTools en .NET para convertir el tif a gif, me ahorré de instalar un monton de librerías.

 

Saludos,

Jhonny Vargas P.

Como puedo convertir un Multi TIF a otro tipo de imagen (JPG, GIF, etc)

Les adjunto una pequeña función que permite convertir de un multi tif a otro tipo de imagen, ya sea JPG, GIF, BMP, etc..

 

La idea es convertir varias imágenes que contiene el multi tiff tomando cada una de ellas y llevarlas al formato deseado.

 

Espero les sirva.

 

 

    Public Function ConvertTifTo(ByVal ArchivoTIF As String, _
                                 ByVal ArchivoIMG As String, _
                                 ByVal Tipo As ImageFormat) As String

 

        Dim dimension As FrameDimension, _
            Imagen As Image, _
            Item As Integer

 

        Try

 

            ‘Se carga el archivo TIF a un Image

            Imagen = System.Drawing.Image.FromFile(ArchivoTIF)
            dimension = New FrameDimension(Imagen.FrameDimensionsList(0))

 

            ‘Se realiza un ciclo para ver todas las imagenes que contiene la dimensión

            For Item = 0 To Imagen.GetFrameCount(dimension) – 1
 
                ‘Se activa la imagen del multitif en Image
                Imagen.SelectActiveFrame(dimension, Item)
 
                ‘Se Graba la imagen con el mismo nombre del multitiff
                ‘más correlativo más la extensión del documento
                Imagen.Save(ArchivoIMG & “_” & Item & “.” & Tipo.ToString, Tipo)
            Next

 

            ‘Se liberan los recursos
            Imagen.Dispose()
            Imagen = Nothing

 

            Return “”

 

        Catch ex As Exception
            Return ex.Message

 

        End Try

 

    End Function

 

 

 

Cualquier comentario bienvenido sea.

 

Saludos,

Jhonny Vargas P.