Voglio convertire un array di byte in un'immagine.Da matrice a immagine a conversione di immagini
Questo è il mio codice del database da cui ricevo l'array di byte:
public void Get_Finger_print()
{
try
{
using (SqlConnection thisConnection = new SqlConnection(@"Data Source=" + System.Environment.MachineName + "\\SQLEXPRESS;Initial Catalog=Image_Scanning;Integrated Security=SSPI "))
{
thisConnection.Open();
string query = "select pic from Image_tbl";// where Name='" + name + "'";
SqlCommand cmd = new SqlCommand(query, thisConnection);
byte[] image =(byte[]) cmd.ExecuteScalar();
Image newImage = byteArrayToImage(image);
Picture.Image = newImage;
//return image;
}
}
catch (Exception) { }
//return null;
}
Il mio codice di conversione:
public Image byteArrayToImage(byte[] byteArrayIn)
{
try
{
MemoryStream ms = new MemoryStream(byteArrayIn,0,byteArrayIn.Length);
ms.Write(byteArrayIn, 0, byteArrayIn.Length);
returnImage = Image.FromStream(ms,true);//Exception occurs here
}
catch { }
return returnImage;
}
Quando raggiungo la linea con un commento, la seguente eccezione si è verificato: Parameter is not valid.
Come posso risolvere ciò che causa questa eccezione?
Hai controllato che i byte di immagine nella tua query siano validi? Potresti fare un File.WriteAllBytes ("myimage.jpg", byteArrayIn) per verificare. – Holstebroe