Cargar una imagen

Iniciado por bybaal, 8 Mayo 2016, 19:18 PM

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

bybaal

Alguien me pudiera ayudar, necesito cargar en un picturebox desde un array de bytes, les dejo un ejemplo para que lo vean mejor y así alguien pueda ayudar, gracias

Código (vbnet) [Seleccionar]

Dim Arr() As Byte = {}
Arr = System.IO.Files.ReadAllBytes("C:\1.jpg")

'La pregunta es como mostrar la imagen en un picturebox desde el array Arr

ThunderCls

-[ "...I can only show you the door. You're the one that has to walk through it." – Morpheus (The Matrix) ]-
http://reversec0de.wordpress.com
https://github.com/ThunderCls/

bybaal

Cita de: [ Thunder | CLS ] en  9 Mayo 2016, 03:15 AM
El primer resultado de una búsqueda rápida en Google  :silbar:
http://stackoverflow.com/questions/6869777/loading-byte-data-to-a-picture-box

Muchas gracias, tuve que hacerle algunos arreglos al código para que quedara bien y aquí están

Código (vbnet) [Seleccionar]

Dim vrPicHolder() As Byte
vrPicHolder = IO.File.ReadAllBytes("C:\1.jpg")

Dim pictureBytes As New MemoryStream(vrPicHolder)
PicutureBox1.Image = Image.FromStream(pictureBytes)

Eleкtro

#3
Cita de: bybaal en  9 Mayo 2016, 05:44 AM
Código (vbnet) [Seleccionar]
Dim pictureBytes As New MemoryStream(vrPicHolder)
PicutureBox1.Image = Image.FromStream(pictureBytes)

Hola

No se cual es el propósito de tu código, pero imagino que ya sabrás que puedes cargar directamente una imagen desde un archivo local con la función Image.FromFile().

Bien, aparte de eso, solo quiero comentarte que el código que has mostrado no es del todo correcto, puedes optimizarlo de la siguiente manera:

Código (vbnet) [Seleccionar]

Dim img As Image
Dim imgPath As String = "C:\Imagen.ext"

Using fs As New FileStream(imgPath, FileMode.Open, FileAccess.Read, FileShare.ReadWrite)
   img = Image.FromStream(fs)
End Using

PictureBox1.Image = img
' ...Llamar al método "img.Dispose()" para liberarlo cuando ya no lo necesites.


Saludos








Leiray

Saludos Elektro. El objetivo del código es cargar una imagen directamente de un Array de tipo Byte para no tener que estar guardando y cargando hacia y desde un archivo.

Dim IMG() as Byte
IMG = System.IO.Files.ReadAllBytes("C:\Flag.jpg")

'Aquí va elcódigo de cargar en el PictureBox