• 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 

  • 相关阅读:
    Android Overlay学习
    为WinForm combox控件增加自动完成功能
    职业理想
    How to become a hacerk.黑客
    .net程序员常用网站
    面向对象设计原则
    net开源cms系统
    如何:禁用 Windows 窗体 DataGridView 控件的按钮列中的按钮(摘录)
    计算机编码(百度百科)
    .net winform 从资源文件中引用图片资源
  • 原文地址:https://www.cnblogs.com/hjtdlx/p/3704519.html
Copyright © 2020-2023  润新知