Registriert seit: 15. Jun 2010
Ort: Augsburg Bayern Süddeutschland
3.470 Beiträge
Delphi XE3 Enterprise
|
AW: Bild im Internet Explorer finden?
29. Mai 2013, 10:45
Ich hatte mir das so vorgestellt ....
Delphi-Quellcode:
type
pRGBQuadArray = ^TRGBQuadArray;
TRGBQuadArray = ARRAY[0..$effffff] OF TRGBQuad;
Function FindBitmap(Container,Find:TBitmap):TPoint;
var
SclS,SclF:pRGBQuadArray;
xc,yc:Integer;
x,y:Integer;
Found:Boolean;
begin
Container.PixelFormat := pf32Bit;
Find.PixelFormat := pf32Bit;
Result.X := -1;
Result.Y := -1;
yc:=0;
while (yc < (Container.Height-Find.Height - 1)) and (Result.X=-1) do
begin
xc:= 0;
while (xc < (Container.Width-Find.Width - 1)) and (Result.X=-1) do
begin
y := 0;
Found := true;
while (y<Find.Height-1) and Found do
begin
x := 0;
SclF := Find.ScanLine[y];
SclS:= Container.ScanLine[yc+y];
while (x < Find.Width -1) and Found do
begin
Found := Integer(SclS[xc+x])=Integer(SclF[x]);
inc(x);
end;
inc(y);
end;
if Found then
begin
Result.X := xc;
Result.Y := yc;
end;
inc(xc);
end;
inc(yc);
end;
end;
procedure TForm2.Button1Click(Sender: TObject);
var
p:TPoint;
begin
Image1.Canvas.Draw(140,140,image2.Picture.Bitmap); //Test bmp2 auf bmp malen um es finden zu können
p := FindBitmap(Image1.Picture.Bitmap,Image2.Picture.Bitmap);
Caption := Format('X: %d - Y: %d',[P.X,P.Y])
end;
Thomas Wassermann H₂♂ Das Problem steckt meistens zwischen den Ohren
DRY DRY KISS
H₂♂ (wenn bei meinen Snipplets nichts anderes angegeben ist Lizenz: WTFPL)
|
|
Zitat
|