ATENCIÓN AL CLIENTE: +34 923 199 148

Almacenar una imagen en disco procedente de una base de datos

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)
Quizá te interese...