Comment comparer deux images à l'aide de tableaux d'octets

Je veux être en mesure de convertir de Byte[] à l'Image et vice versa.

J'ai ces deux méthodes de ici:

public byte[] imageToByteArray(System.Drawing.Image imageIn)
{
    MemoryStream ms = new MemoryStream();
    imageIn.Save(ms,System.Drawing.Imaging.ImageFormat.Gif);
    return  ms.ToArray();
}

public Image byteArrayToImage(byte[] byteArrayIn)
{
     MemoryStream ms = new MemoryStream(byteArrayIn);
     Image returnImage = Image.FromStream(ms);
     return returnImage;
}

Ils semblent fonctionner, mais si je fais:

byte[] pic = GetImageFromDb();
bool result = pic == imageToByteArray(byteArrayToImage(pic));

- Je obtenir result = false!

Tout pour résoudre ce problème, des méthodes ou des fonctions différentes pour atteindre mon objectif?

Merci!

  • même problème ici: stackoverflow.com/questions/8763630/... à l'exception de l' == stuff utilisation pic.equals(imageToByteArray(byteArrayToImage(pic));
  • essayez ce code new byte[] { 1 }.Equals(new byte[] { 1 })
InformationsquelleAutor Diego | 2012-01-06