hier werden die Bilder verglichen
Delphi-Quellcode:
function Istgleich(bm1,bm2:TBitmap):single;
var
x,y,br:integer;
p1,p2:PByteArray;
begin
try
result:=-1;
br:=breitenwert(bm1);
if br < 1 then exit;
result:=0;
if (bm1.width<>bm2.width)or(bm1.height<>bm2.height)or(bm1.pixelformat<>bm2.pixelformat)then exit;
for x:=0 to bm1.height-1 do
begin
p1:=bm1.scanline[x];
p2:=bm2.scanline[x];
for y:=0 to br do if p1[y]<>p2[y] then exit;
end;
except ShowMessage('Fehler'); end;
result:=1;
// Muss ich vielleicht hier die bm1 und bm2 freigeben?
end;
der Aufruf:
Delphi-Quellcode:
if (istgleich(scrshot,bilder[i]) = 1) then ...
scrshot.free;
Danke für die Hilfe