您好,欢迎访问一九零五行业门户网

C# 判断两张图片是否一致的快速方法

c# 判断两张图片是否一致的快速方法
#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
以上就是c# 判断两张图片是否一致的快速方法的内容。
其它类似信息

推荐信息