Autor Tema: Convertí r imagen en string y viceversa  (Leído 1999 veces)

0 Usuarios y 1 Visitante están viendo este tema.

javierjava

  • Kilobyte
  • **
  • Mensajes: 69
  • Reputación: +6/-0
    • Ver Perfil
Convertí r imagen en string y viceversa
« en: Octubre 14, 2012, 12:48:16 am »
Que tal alguien me podría ayudar en cómo convertir una imagen en string tengo esta funciones que si lo hace pero es muy lento y no me funciona bien
Código: [Seleccionar]
Imports System.IO
Imports System.Text
Imports System.Drawing
Module mBitmapConverter
    Public Function BitmapToString(ByVal sImagePath As String) As String
        Try
            Dim data As String
            Dim ms As MemoryStream = New MemoryStream
            Dim bmp As Bitmap = New Bitmap(sImagePath)
            bmp.Save(ms, System.Drawing.Imaging.ImageFormat.Png)
            data = Convert.ToBase64String(ms.ToArray())
            Return data
        Catch ex As Exception
            Return String.Empty
        End Try
    End Function
    Public Function BitmapToString(ByVal bImage As Bitmap) As String
        Try
            Dim data As String
            Dim ms As MemoryStream = New MemoryStream
            bImage.Save(ms, System.Drawing.Imaging.ImageFormat.Png)
            data = Convert.ToBase64String(ms.ToArray())
            Return data
        Catch ex As Exception
            Return String.Empty
        End Try
    End Function
    Public Function StringToBitmap(ByVal sImageData As String) As Bitmap
        Try
            Dim ms As New MemoryStream(Convert.FromBase64String(sImageData))
            Dim bmp As Bitmap = Bitmap.FromStream(ms)
            Return bmp
        Catch ex As Exception
            Return Nothing
        End Try
    End Function
End Module

Alguien tendría una forma de hacerlo mucho mejor y que no sea tan lenta como el de esta función.
Disculpen las molestias y gracias por cualquier ayuda que me puedan brindar

E N T E R

  • Petabyte
  • ******
  • Mensajes: 1062
  • Reputación: +57/-13
  • www.enterpy.com
    • Ver Perfil
    • www.enterpy.com
Re:Convertí r imagen en string y viceversa
« Respuesta #1 en: Octubre 18, 2012, 04:19:32 pm »
Encontré este creo que podes adaptar a tu proyecto, funciona muy bien ojala te sirva amigo.

Código: (VB) [Seleccionar]
    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click

        'Convertir
        Dim b As Byte() = IO.File.ReadAllBytes("c:\x\original.jpg")
        Dim str As String = Convert.ToBase64String(b)

        'Leer
        Dim z As Byte() = Convert.FromBase64String(str)
        Dim scribe As New IO.FileStream("c:\x\original_convertido.jpg", IO.FileMode.Create, IO.FileAccess.ReadWrite)
        scribe.Write(z, 0, z.Length)
        scribe.Close()

    End Sub

Aca hay mas datos creo que modificaron unos cuantos pero el que te pase creo que ya sirve por que ellos estan tratando de otro tema.
Fuente: http://social.msdn.microsoft.com/Forums/es/vbes/thread/fa1f4ceb-2fbf-43fa-8700-7720cadc9678

Saludos...
« última modificación: Octubre 18, 2012, 04:24:31 pm por E N T E R »
CIBER GOOGLE - CONCEPCIÓN PARAGUAY
www.enterpy.com
Primera regla de la programacion, para que vas a hacerlo complicado si lo puedes hacer sencillo