您好,登錄后才能下訂單哦!
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# 中怎么判斷兩張圖片是否一致的方法了嗎?如果還想學到更多技能或想了解更多相關內容,歡迎關注億速云行業資訊頻道,感謝各位的閱讀!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。