PDA

Ver la Versión Completa : Saber la posicion de una imagen


ZayDun
02-01-2011, 13:20:42
Hola, he estado buscando por el foro y nada se parece a lo que intento hacer, para empezar tengo un componente WebBrowser y por otro lado un "Timagen" mi intencion es saber la posicion X,Y en la que se encuentra la imagen que tengo cargada en el TImage, tambien he pensado en hacer una captura al WebBrowser y que compare, pero esto ultimo no me vale ya que lo que yo quiero es que me diga la posicion. Un saludo

Aleca
02-01-2011, 15:24:21
las propiedades Top y Left del TImage no te sirven?:confused:

ZayDun
02-01-2011, 15:28:33
la propiedades Top y Left no me valen, por que lo que quiero realizar es que busque en un webrowser o una captura de pantalla la imagen que tengo cargada en un TImage, y que me diga en que posicion se encuentra. Gracias de todas formas.

ecfisa
04-01-2011, 15:39:02
Hola ZayDun.

No sé si es lo que andás buscando, pero si tu imágen está maximizada en una ventana y con la propiedad BorderSyle en bsNone,
una forma que se me ocurre es obtener las coordenadas del form:

function GetWndCoord(WndName: string): Trect;
var
Handle: THandle;
WP: TWindowPlacement;
begin
Handle:= FindWindow(PChar(WndName),nil);
if Handle <> 0 then
begin
GetWindowPlacement(Handle, @WP);
Result:= WP.rcNormalPosition;
end
else
raise Exception.Create('Ventana no encontrada');
end;

{ Ejemplo de llamada }
procedure TForm1.Button1Click(Sender: TObject);
var
R: TRect;
begin
// TBuscado es el nombre de clase del form que utilizé en la prueba
R:= GetWndCoord('TBuscado');
ShowMessage('Left: '+IntToStr(R.Left)+#10#13+
'Top: '+IntToStr(R.Top)+#10#13+
'Right: '+IntToStr(R.Right)+#10#13+
'Bottom: '+IntToStr(R.Bottom));
end;


Saludos.