易截截图软件、单文件、免安装、纯绿色、仅160KB

C#比较图片是否一致


/// <summary>
/// 比较两幅图片是否一致(使用Marshal.ReadByte方式)
/// </summary>
/// <param name="bitmap1">图片1</param>
/// <param name="bitmap2">图片2</param>
/// <returns>如果两幅图片相同,返回0;如果图片1小于图片2,返回小于0的值;如果图片1大于图片2,返回大于0的值。</returns>
public static int BitmapCompare3(Bitmap bitmap1, Bitmap bitmap2)
{
  int result = 0; //假设两幅图片相同
  if (bitmap1 == null || bitmap2 == null)
   return -1;
  if (bitmap1.Width == bitmap2.Width && bitmap1.Height == bitmap2.Height)
  {
   BitmapData bmd1 = bitmap1.LockBits(new Rectangle(0, 0, bitmap1.Width, bitmap1.Height), ImageLockMode.ReadOnly, bitmap1.PixelFormat);
   BitmapData bmd2 = bitmap2.LockBits(new Rectangle(0, 0, bitmap2.Width, bitmap2.Height), ImageLockMode.ReadOnly, bitmap2.PixelFormat);
   IntPtr start1 = bmd1.Scan0;
   IntPtr start2 = bmd2.Scan0;
   int sizeOfByte = Marshal.SizeOf(typeof(byte));
   for (int i = 0; i < sizeOfByte * bmd1.Stride * bitmap1.Height; i++)
   {
    byte b1 = Marshal.ReadByte(start1, i);
    byte b2 = Marshal.ReadByte(start2, i);
    if (b1 != b2)
    {
     result = (int)(b1 - b2);
     break;
    }
   }
   bitmap1.UnlockBits(bmd1);
   bitmap2.UnlockBits(bmd2);
  }
  else if (bitmap1.Width != bitmap2.Width)
  {
   result = bitmap1.Width - bitmap2.Width;
  }
  else if (bitmap1.Height != bitmap2.Height)
  {
   result = bitmap1.Height - bitmap2.Height;
  }
  return result;
}
==================================================================================
/// <s


相关文档:

C#与Flash交互

C#与Flash交互 (转自小磊在线)
C#与Flash交互
前段日子公司要求做一个C#与Flash交互的东西,用来C#与短信猫通讯将数据传到Flash上显示与操作的应用。
第一步C#添加组件
打开VS2005-工具-选择工具箱项-COM组件-选择Shockwave Flash Object-确定
添加好组件往场景上拖放,如果提示注册需求注册
c# 注册控件-在运行输 ......

JAVA与C#比较

C#与JAVA的相同之处:由于C#与JAVA都是基于C++发展起来的,因此二者之间具有很多相似之处,具体如下:
  1、C#和JAVA语言的编译结果是独立于计算机和编程语言的,可执行文件可以在受管理的执行
  环境中执行;
  2、C#和JAVA语言都是采用了自动的垃圾回收机制;
  3、C#和JAVA语言都取消了指针操作;
  4、 ......

(c#)Excel与SqlServer间数据相互导入

          在数据库编程中,常会遇到要把数据库表信息导入Excel中,  有时则是把Excel内容导入数据库中。在这里,将介绍一种比较方便快捷的方式,也是比较普遍的。其实,这方法你并不陌生。原理很简单,把数据库表或Excel内容读取到dataset类型的变量中,再逐 ......

C#环境下往oracle中的blob字段插入文件

添加引用            
using System.Data.OracleClient;
主要用到了两个类
System.Data.OracleClient.OracleConnection 表示一个到数据库的连接。此类无法继承。
System.Data.OracleClient.OracleCommand   表示针对数据库执行的 SQL 语句或存 ......

接口(C# 参考)

以下参考 :http://msdn.microsoft.com/zh-cn/library/87d83y5b.aspx
接口(C# 参考)
更新:2007 年 11 月
接口只包含方法、属性、事件或索引器的签名。成员的实现是在实现接口的类或结构中完成的,如下面的示例所示:
示例
interface ISampleInterface
{
    void SampleMethod();
}
class Implem ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号