您好,登錄后才能下訂單哦!
C# 中怎么判斷兩張圖片是否一致,相信很多沒有經(jīng)驗(yàn)的人對此束手無策,為此本文總結(jié)了問題出現(xiàn)的原因和解決方法,通過這篇文章希望你能解決這個問題。
代碼如下:
#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) { //將圖片一鎖定到內(nèi)存 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); //將圖片二鎖定到內(nè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 { //循環(huán)判斷值 for (int i = 0; i < length_i; i++) { //不一致 if (imgValue_i[i] != imgValue_b[i]) { return false; } } return true; } } else { return false; } } #endregion
看完上述內(nèi)容,你們掌握C# 中怎么判斷兩張圖片是否一致的方法了嗎?如果還想學(xué)到更多技能或想了解更多相關(guān)內(nèi)容,歡迎關(guān)注億速云行業(yè)資訊頻道,感謝各位的閱讀!
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。