码迷,mamicode.com
首页 > Windows程序 > 详细

delphi的一个ScanLine内存找子图的函数,不知道有没有问题。

时间:2015-01-18 15:51:29      阅读:221      评论:0      收藏:0      [点我收藏+]

标签:delphi   scanline   内存   子图   

function TForm1.findimg(pBmpMain,pBmpSub: TBitmap) :Boolean;
var
Pmain,psub,ptmp: PByteArray;
x,y,z:Integer;
b: boolean;
begin
    result:=false;
    b:=false;
    for y:=0 to pBmpMain.Height-pBmpSub.Height do
    begin
    Pmain := pBmpMain.ScanLine[y];
    psub := pBmpSub.ScanLine[0];
        for x:=0 to pBmpMain.Width-pBmpSub.Width do
        begin
            b:=CompareMem(@Pmain[x*3],psub,sizeof(@psub));
            if  b then  begin
              for z := 0 to pBmpSub.Height - 1 do begin
                Pmain := pBmpMain.ScanLine[y+z];
                psub := pBmpSub.ScanLine[z];
                b:=CompareMem(@Pmain[x*3],psub,pBmpSub.Width * 3);
                if not b then break;
              end;
                if b then Break;
            end;
            if b then break;
        end;
        if b then break;
    end;
    result:=b;
end;


本文出自 “RZL_01的博客” 博客,请务必保留此出处http://rzl01.blog.51cto.com/3004337/1605263

delphi的一个ScanLine内存找子图的函数,不知道有没有问题。

标签:delphi   scanline   内存   子图   

原文地址:http://rzl01.blog.51cto.com/3004337/1605263

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!