delphi比较两个位图是否相同


本文整理自网络,侵删。

 

引用
function IsBmpSame(bmp1,bmp2: TBitmap): Boolean;  
var 
  i,j: Integer;  
  ScanLine1,ScanLine2: PByteArray;  
  Count: Integer;  
begin 
  Result := (bmp1.Height = bmp2.Height) and 
            (bmp1.Width = bmp2.Width) and 
            (bmp1.PixelFormat = bmp2.PixelFormat);  
  if Result then 
  begin 
    i := Integer(bmp1.PixelFormat);  
    if i < 4 then 
      i := 4 
    else if i = 4 then 
      inc(i);  
    Count := (i - 3) * bmp1.Width - 1;  
    for i:=0 to bmp1.Height-1 do 
    begin 
      ScanLine1 := bmp1.ScanLine[i];  
      ScanLine2 := bmp2.ScanLine[i];  
      for j := 0 to Count do 
        if ScanLine1[j] <> ScanLine2[j] then 
        begin 
          Result := False;  
          Exit;  
        end;  
    end;  
  end;  
end; 

相关阅读 >>

Delphi tnethttpclient https忽略证书验证

Delphi多线程学习:多线程数据库查询(ado)

Delphi 收藏字符串处理单元

Delphi try except与try finally不同之处

Delphi xe7的android应用设定wifi的有效无效

Delphi fmx关闭安卓程序

获取 ip138 ip 地址

Delphi debug模式下可以但是release模式下报错原因之一

Delphi中获取光标句柄代码(包含获取当前线程id)

自己写的app如何禁掉安卓锁屏

更多相关阅读请进入《Delphi》频道 >>



打赏

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码打赏,您说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

分享从这里开始,精彩与您同在

评论

管理员已关闭评论功能...