Convertire un immagine in un array di byte e viceversa
Scritto da
Massimo Bonanni il
giovedì 26 maggio 2011
•
Linguaggio:
• Livello: 100
A volte può servire convertire un
immagine in un array di byte (per esempio per salvare
l'immagine in una banca dati).
Le seguenti funzioni eseguono le operazioni di conversione di
un'immagine da e verso un array di byte.
VB.NET
Public Shared Function ConvertImageToByteArray(ByVal imageToConvert As Image) As Byte()
Dim ret As Byte() = Nothing
Try
Using ms As New MemoryStream
imageToConvert.Save(ms, imageToConvert.RawFormat)
ret = ms.ToArray()
End Using
Catch ex As Exception
ret = Nothing
End Try
Return ret
End Function
Public Shared Function ConvertByteArrayToImage(ByVal byteArrayIn As Byte()) As Image
Dim retImage As Image = Nothing
Try
Using ms = New MemoryStream(byteArrayIn)
retImage = Image.FromStream(ms)
End Using
Catch ex As Exception
retImage = Nothing
End Try
Return retImage
End Function
C#
public static byte[] ConvertImageToByteArray(Image imageToConvert)
{
byte[] ret = null;
try
{
using (MemoryStream ms = new MemoryStream())
{
imageToConvert.Save(ms, imageToConvert.RawFormat);
ret = ms.ToArray();
}
}
catch (Exception ex)
{
ret = null;
}
return ret;
}
public static Image ConvertByteArrayToImage(byte[] byteArrayToConvert)
{
Image ret = null;
try
{
using (MemoryStream ms = new MemoryStream(byteArrayToConvert))
{
ret=Image.FromStream(ms);
}
}
catch (Exception ex)
{
ret = null;
}
return ret;
}
Tags: Graphics