Die*_*ego 17 c# image bytearray
我希望能够从Byte []转换为Image,反之亦然.
我从这里开始这两种方法:
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;
}
Run Code Online (Sandbox Code Playgroud)
他们似乎工作,但如果我这样做:
byte[] pic = GetImageFromDb();
bool result = pic == imageToByteArray(byteArrayToImage(pic));
Run Code Online (Sandbox Code Playgroud)
我明白了result = false!
有没有办法纠正这种方法或一些不同的功能来实现我的目标?
谢谢!
Ode*_*ded 16
==如果不重写,则使用将比较对象引用.
由于这些是两个不同的 byte[]对象,因此引用是不同的.
您需要byte[]逐项比较对象,以确认它们是相同的.你可以SequenceEquals在这种情况下使用.