Ver Mensaje Individual
  #2 (permalink)  
Antiguo 14/05/2008, 09:58
Avatar de caricatos
caricatos
Moderador
 
Fecha de Ingreso: abril-2002
Ubicación: Torremolinos (Málaga)
Mensajes: 19.607
Antigüedad: 22 años, 7 meses
Puntos: 1284
Re: Script imagen ajustada de Caricatos

Hola:

Me agrada ver que mis viejos scripts siguen siendo útiles. Sobre el tema de crear la capa puede tener algún inconveniente añadido, ya que si calculamos las dimensiones de la página (ya no hablamos de ventanas) y es menor que las dimensiones de la imagen la cosa se complica bastante, aunque siempre se puede redimensionar la imagen para que quepa...

Voy a intentar hacer las modificaciones para que funcione en páginas superiores... luego veremos...

De el mensaje solo nos hace falta la función mostrar, en donde ya podemos consultar las dimensiones de la imágen... y por cierto, en vez de una capa simplemente se podría crear un tag img.

Este es el código original:

Código:
var _img_grande;
function mostrar() {
	var ops = "top=" + ((screen.height - _img_grande.height) / 2);
	ops += ",left=" + ((screen.width - _img_grande.width) / 2);
	ops += ",width=" + _img_grande.width + ",height=" + _img_grande.height;
	var contenido = "<html><body style='background-image: url(" + _img_grande.src + ")'></body></html>";
	var ventana = window.open("", "", ops);
	ventana.document.write(contenido);
	ventana.document.close();
}
y al modificarlo:

Código:
var _img_grande;
function mostrar() {
	var imagen = document.createElement("img");
	var ancho = _img_grande.width;
	var alto = _img_grande.height;
	var x = (document.body.offsetWidth - ancho) / 2;
	var y = (document.body.offsetHeight - alto) / 2;

	width (imagen.style)	{
		position = "absolute";
		top = x + "px";
		left = y + "px";
		border = "1px solid red";
	}
	document.body.appendChild(imagen);
}
Posiblementa haya que depurarlo más, pero pruébalo y nos cuentas (Lo he puesto "a capella"... y tal vez también haya que cambiar el estilo display... y el cálculo de las coordenadas en circunstancias especiales no lo he contemplado.

Saludos
__________________
Por favor:
No hagan preguntas de temas de foros en mensajes privados... no las respondo