利用TBDBitmapData对象查找两张图片上的不同

利用TBDBitmapData对象查找两张图片上的不同,从右上角开始利用双层循环遍历两图上的所有象素点,并相互比较。不完整代码如下:

procedure TForm1.Button5Click(Sender: TObject);
var
    Bmp1,Bmp2 : TBDBitmapData;
    Left,Top : Integer;
    IsExit : Boolean;
begin
    Bmp1:=TBDBitmapData.Create;
    Bmp2:=TBDBitmapData.Create;

    Bmp1.LoadFromFile('文件名1');
    Bmp2.LoadFromFile('文件名2');

    //假设两张图片一样大

    IsExit:=false;
    for Top:=0 to Bmp1.Height-1 do
    begin
        for Left:=0 to Bmp1.Width-1 do
        begin
            if Bmp1[Left,Top]<>Bmp2[Left,Top] then
            begin
                //在(Left,Top)位置两张图片有不同

                //相应的处理...

                if {如果不继续查找其它不同} then
                begin
                    IsExit:=true; //用以退出循环
                    break;
                end;
            end;
        end;
        if IsExit then break;
    end;

    Bmp1.Free;
    Bmp2.Free;
end;

以上代码不完整,可以根据需要进行修改,TBDBitmapData的其它详细使用方法可以参考:Delphi下实现全屏快速找图找色

转载于:https://www.cnblogs.com/rogee/archive/2010/09/14/1827250.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值