利用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

猜你喜欢

转载自blog.csdn.net/weixin_33736649/article/details/94680836