Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Varios (https://www.clubdelphi.com/foros/forumdisplay.php?f=11)
-   -   centrar imagen que cargo en un TWebBrowser (https://www.clubdelphi.com/foros/showthread.php?t=61084)

gulder 24-10-2008 20:55:32

centrar imagen que cargo en un TWebBrowser
 
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:

Código Delphi [-]
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:

Código:

<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. 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:

Código Delphi [-]
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 :=
    '<div style="' + Style + '">' + Document.body.innerHTML + '</div>';
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

Código Delphi [-]
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


La franja horaria es GMT +2. Ahora son las 14:12:09.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi