#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# 判断两张图片是否一致的快速方法的更多相关文章

  1. opencv_判断两张图片是否相同

    QQ:231469242 pip install opencv 如果找不到版本,去非官方下载opencv第三方包http://www.lfd.uci.edu/~gohlke/pythonlibs/ 下 ...

  2. C# 判断两张图片是否一致,极快速

    #region 判断图片是否一致 /// <summary> /// 判断图片是否一致 /// </summary> /// <param name="img& ...

  3. C#判断两个字符串是否相等的方法 ,还有char赋空值办法。

    string str1="Test"; string str2 = "Test"; if (str1==str2) //第一种判断方式 { //第二种判断方式 ...

  4. js判断两个日期是否相等的方法

    今天优化代码的时候,发现一个问题,js比较日期是否相等时,我用==去比较,发现两个时间不相等但是运行结果却是true,然后去百度了下发现oldStartTime, startTime都是对象,类型为引 ...

  5. Java基础(六)判断两个对象相等:equals、hashcode、toString方法

    1.equal方法 Object类中的equal方法用于检测一个对象是否等于另外一个对象.在Object类中,这个方法将判断两个对象是否具有相同的引用.如果两个对象具有相同的引用,它们一定是相等的.然 ...

  6. [leetcode]242. Valid Anagram判断两个字符串是不是包含相同字符的重排列

    /* 思路是判断26个字符在两个字符串中出现的次数是不是都一样,如果一样就返回true. 记住这个方法 */ if (s.length()!=t.length()) return false; int ...

  7. Atitit 判断判断一张图片是否包含另一张小图片

    Atitit 判断判断一张图片是否包含另一张小图片 1. keyword1 2.  模板匹配是在图像中寻找目标的方法之一(切割+图像相似度计算)1 3. 匹配效果2 4. 图片相似度的算法(感知哈希算 ...

  8. Java 判断两个对象是否相等

    一.使用 == 与 equals == : 它的作用是判断两个对象的地址是不是相等.即,判断两个对象是不是同一个对象.(基本数据类型==比较的是值,引用数据类型==比较的是内存地址) equals() ...

  9. You can Solve a Geometry Problem too (hdu1086)几何,判断两线段相交

    You can Solve a Geometry Problem too Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/3276 ...

随机推荐

  1. .net mvc 防止 xss 与 CSRF

    CSRF(Cross-site request forgery跨站请求伪造,也被称成为“one click attack”或者session riding,通常缩写为CSRF或者XSRF,是一种对网站 ...

  2. ScheduledExecutorService的用法——定时执行两个任务

    package control; import java.text.DateFormat; import java.text.ParseException; import java.text.Simp ...

  3. Asp.Net MVC过滤器小试牛刀

    在上学期间学习的Asp.Net MVC,基本只是大概马马虎虎的了解,基本处于知其然而不知其所以然.现在到上班,接触到真实的项目,才发现还不够用,于是从最简单的过滤器开始学习.不得不说MVC的过滤器真是 ...

  4. owa Your request can't be completed right now. Please try again later.

    Your request can't be completed right now. Please try again later.

  5. mysql 连接丢失错误解决(转载)

    1.1 错误信息: Caused by: com.mysql.jdbc.exceptions.jdbc4.CommunicationsException: The last packet succes ...

  6. MySQL5.5版本安装失败问题

    安装的时候前边都正常,总是到最后一步出问题.前几次是到最后一步没有响应,网上有一种方法是在安装MySQl的时候改变默认的服务名“MySQL”.但我试过这种方法,好几次都没成功. 这种情况下我用了第二种 ...

  7. struts2拦截器-简单实现非法登录验证

    概念:什么是拦截器 拦截器实现了面向切面的组件,它会影响多个业务对象的公共行为封装到一个个可重用的模块,减少了系统的重复代码,实现高度内聚,确保业务对象的整洁!   为什么使用拦截器 拦截器消除了动作 ...

  8. asp.net MVC日志插件Log4Net学习笔记一:保存日志到本地

    log4net(Log For Net)是Apache开源的应用于.Net框架的日志记录工具,详细信息参见Apache网站.它是针对Java的log4j(Log For Java的)姊妹工具.用过lo ...

  9. kafka.utils.Utils阅读

    这个类实现了一些工具性质的方法,正如其名. 记下自己觉得有意思的方法: readFileAsString(path: String, charset: Charset = Charset.defaul ...

  10. SaaS 公司如何应对 On-Call 挑战?

    Cloud Insight 集监控.管理.计算.协作.可视化于一身,帮助所有 IT 公司,减少在系统监控上的人力和时间成本投入,让运维工作更加高效.简单.本文系国内 ITOM 行业领军企业 OneAP ...