Almacenar una imagen en disco procedente de una base de datos

WebProgramacion > Recursos sobre informática y tecnología > Programacion > VB.NET > Almacenar una imagen en disco procedente de una base de datos
Autor: Dámaso Velázquez Álvarez

Suponemos que tenermos rellenado el dataset_imagen con la información relativa a la imagen.

Dim imagen, miniatura As Image
Dim datosBlob() As Byte
datosBlob = CType(dataset_imagen.Tables(0).Rows(e.Item.ItemIndex)("campo_blob_que_contiene_la_imagen"), Byte())
Dim imagenmemoria As MemoryStream
imagenmemoria = New MemoryStream(datosBlob)
imagen = Image.FromStream(imagenmemoria)
Dim nuevoAlto As Integer
Dim nuevoAncho As Integer
If imagen.Height > imagen.Width Then
   nuevoAlto = 80
   nuevoAncho = (imagen.Width * 80) / imagen.Height
Else
   nuevoAncho = 80
   nuevoAlto = (imagen.Height * 80) / imagen.Width
End If
miniatura = New Bitmap(nuevoAncho, nuevoAlto, imagen.PixelFormat)
Dim grafico As Graphics = Graphics.FromImage(miniatura)
grafico.CompositingQuality = Drawing2D.CompositingQuality.HighQuality
grafico.InterpolationMode = Drawing2D.InterpolationMode.HighQualityBicubic
Dim rectangulo As Rectangle
rectangulo = New Rectangle(0, 0, nuevoAncho, nuevoAlto)
grafico.DrawImage(imagen, rectangulo)
miniatura.Save(path_en_disco, Imaging.ImageFormat.Jpeg)

Podría interesarte...

Pasar un array de bytes a un fichero
Ejemplo para pasar una imagen almacenada en un array de bytes de memoria a un fichero almacenado en disco
Imagen en disco a un array de bytes
Ejemplo para pasar una imagen almacenada en disco a memoria, en forma de un flujo de bytes. Interesante para un ...