Heim  >  Artikel  >  Backend-Entwicklung  >  C# Eine schnelle Möglichkeit, festzustellen, ob zwei Bilder konsistent sind

C# Eine schnelle Möglichkeit, festzustellen, ob zwei Bilder konsistent sind

黄舟
黄舟Original
2017-01-19 10:37:162149Durchsuche

C# Eine schnelle Methode, um festzustellen, ob zwei Bilder konsistent sind

#region 判断图片是否一致   
/// <summary>   
/// 判断图片是否一致   
/// </summary>   
/// <param name="img">图片一</param>   
/// <param name="bmp">图片二</param>   
/// <returns>是否一致</returns>   
public bool IsSameImg(Bitmap img, Bitmap bmp)   
{   
//大小一致   
if (img.Width == bmp.Width && img.Height == bmp.Height)   
{   
//将图片一锁定到内存   
BitmapData imgData_i = img.LockBits(new Rectangle(0, 0, img.Width, img.Height), ImageLockMode.ReadOnly, PixelFormat.Format24bppRgb);   
IntPtr ipr_i = imgData_i.Scan0;   
int length_i = imgData_i.Width * imgData_i.Height * 3;   
byte[] imgValue_i = new byte[length_i];   
Marshal.Copy(ipr_i, imgValue_i, 0, length_i);   
img.UnlockBits(imgData_i);   
//将图片二锁定到内存   
BitmapData imgData_b = img.LockBits(new Rectangle(0, 0, img.Width, img.Height), ImageLockMode.ReadOnly, PixelFormat.Format24bppRgb);   
IntPtr ipr_b = imgData_b.Scan0;   
int length_b = imgData_b.Width * imgData_b.Height * 3;   
byte[] imgValue_b = new byte[length_b];   
Marshal.Copy(ipr_b, imgValue_b, 0, length_b);   
img.UnlockBits(imgData_b);   
//长度不相同   
if (length_i != length_b)   
{   
return false;   
}   
else   
{   
//循环判断值   
for (int i = 0; i < length_i; i++)   
{   
//不一致   
if (imgValue_i[i] != imgValue_b[i])   
{   
return false;   
}   
}   
return true;   
}   
}   
else   
{   
return false;   
}   
}   
#endregion


Das Obige ist eine schnelle Methode in C#, um festzustellen, ob zwei Bilder konsistent sind Bilder sind konsistent. Bitte beachten Sie die chinesische PHP-Website (www.php.cn), um weitere verwandte Inhalte zu erhalten!


Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn