程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> .NET網頁編程 >> C# >> C#入門知識 >> C# 判斷兩張圖片是否一致,極快速。

C# 判斷兩張圖片是否一致,極快速。

編輯:C#入門知識

 #region 判斷圖片是否一致
        /// 
        /// 判斷圖片是否一致
        /// 
        /// 圖片一
        /// 圖片二
        /// 是否一致
        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


  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved