zoukankan      html  css  js  c++  java
  • 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 

  • 相关阅读:
    Angle Beats Gym
    MUV LUV UNLIMITED Gym
    Balanced Diet Gym
    数位dp HDU
    数位dp CodeForces
    数位dp HDU
    有依赖的背包 洛谷P1064 金明的预算方案 (不是分组背包)
    多重背包+二进制拆分 POJ1014
    单调队列优化dp 入门 洛谷P2627 修剪草坪
    01背包 + 排序 (记忆化搜索) 骄傲的商人(HDU
  • 原文地址:https://www.cnblogs.com/hjtdlx/p/3704519.html
Copyright © 2011-2022 走看看