Convertire un immagine in un array di byte e viceversa

Scritto da  Massimo Bonanni il giovedì 26 maggio 2011  •  Linguaggio: C#,VB   • 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

 
x