易截截图软件、单文件、免安装、纯绿色、仅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# Xml中映射为类数据结构(报文)

        [System.Runtime.Serialization.DataMemberAttribute()]
        public Information Archive {
            get {
         &n ......

ASP.NET C# URL加密解密

需要引用的类名空间
using System.Security.Cryptography;
using System.IO;
using System.text;
 
        /// <summary>
        /// 加密
        // ......

c# 连接MySql数据库的两种方法

1、用MySQLDriverCS连接MySQL数据库
先下载和安装MySQLDriverCS,地
址:
http://sourceforge.net/projects/mysqldrivercs/
在安装文件夹下面找到
MySQLDriver.dll
,然后将
MySQLDriver.dll
添加引用到项目中
注:我下载的是版本是

MySQLDriverCS-n-EasyQueryTools-4.0.1-DotNet2.0.exe
 
using

S ......

abstract(C# 参考)

//以下来自:http://msdn.microsoft.com/zh-cn/library/sf985hc5.aspx
abstract(C# 参考)
更新:2007 年 11 月
abstract 修饰符可以和类、方法、属性、索引器及事件一起使用。在类声明中使用 abstract 修饰符以指示某个类只能是其他类的基类。标记为抽象或包含在抽象类中的成员必须通过从抽象类派生的类来实现。
示例 ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号