// Bitmap is an instance of System.Drawing.Bitmap
using (MemoryStream ms = new MemoryStream())
{
Bitmap.Save(ms, ImageFormat.Bmp);
byte[] bitmapData = ms.ToArray();
using (var ms2 = new MemoryStream(bitmapData))
{
var bmap2 = Image.FromStream(ms2) as Bitmap;
bmap2.Equals(Bitmap); // false
}
}
那么为什么是假的?
好吧,Bitmap 中的 Equals 没有被覆盖,因此比较链接,对象在这里是不同的。为了比较两个位图,我将它们转换为字节数组,然后将字节转换为字符串,最后比较这些字符串。