PDA

Ver la Versión Completa : centrar imagen que cargo en un TWebBrowser


gulder
24-10-2008, 20:55:32
hola foro como andan espero que bien, bueno estoy cargando en un WebBrowser una imagen que tengo colgada en un servidor en internet de la siguiente manera:

WebBrowser1.Navigate(WideString(direccion));


entonces mi pregunta es como centro dicha imagen en este componente si las imagenes que voy a cargar varian de tamañao saludos de antemano gulder-gan

TOPX
24-10-2008, 21:03:24
Hola,

Yo opino que en lugar de "centrar en TWebBrowser", hay que centrarla en la página web:

<center><img src="pic1.jpg"></center>

Pero, si no hay la posibilidad de modificar la página web, entonces puede optar por hacer algo como esto (http://www.clubdelphi.com/foros/showthread.php?t=60669). Uh! ese hilo lo comenzó Ud. :rolleyes:

roman
24-10-2008, 21:44:45
Tal como menciona TOPX, el centrado debes hacerlo en el documento HTML. Puedes intentar esto:


procedure TForm1.WebBrowser1DocumentComplete(
Sender: TObject; const pDisp: IDispatch; var URL: OleVariant);
const
fmtStyle = 'position:absolute;left:50%%;margin-left:-%d;top:50%%;margin-top:-%d;';

var
Document: IHTMLDocument2;
Image: IHTMLImgElement;
Style: String;

begin
Document := WebBrowser1.Document as IHTMLDocument2;
Image := Document.images.item(null, 0) as IHTMLImgElement;
Style := Format(fmtStyle, [Image.width div 2,Image.height div 2]);
Document.body.innerHTML :=
'&lt;div style="' + Style + '"&gt;' + Document.body.innerHTML + '&lt;/div&gt;';
end;


De todas formas, podrías usar lo del hilo que te menciona TOPX: bajar la imagen y colocarla en un componente TImage con su propiedad Center en true.

Nota: El código anterior funciona sólo si la url cargada es directamente la de la imagen.

// Saludos

gulder
24-10-2008, 22:44:11
TOPX gracias por responder en lo de centrar la imegen me suena me tocaria seria crear una pequeña pagina puesto que la imgen no esta en una pagina y centrarla despues gracias por la info y por lo del hilo que cree yo asi no lo quiero hacer puesto que demora mas para cargar y por aqui nooo aqui me ba mostrando la imagen miestra se carga y es mejor para el usuario para que vea que esta haciendo algo el programa, y roman usted como siempre tan puntual en sus respuesta voy a provar lo que dices saludos gulder-gan

gulder
24-10-2008, 23:03:29
hola yo por aqui otra vez olare roman me sale error aqui al momento de declarar esta variables

var
Document: IHTMLDocument2;
Image: IHTMLImgElement;


que uses debo agregar o que componente por que no lo he podido encontrar en la ayuda de delphi 7 el cual es el que utilizo gracias de antemano gulder-gan

roman
24-10-2008, 23:43:10
Debes agregar la unidad MsHTML.

// Saludos

gulder
24-10-2008, 23:54:08
roman gracias ahora si que funcioa perfecto saludes men