110.- Imágenes en miniatura P: ¿Como puedo poner miniaturas de mis imágenes sin tener que reducirlas con un editor gráfico?
R: Con este código:
Código PHP:
<html>
<head>
<script>
function minifoto(foto,H,V,ancho,alto) {
propH = ancho / H;
propV = alto / V;
if (propH>propV) {
anchoF = H * propV;
altoF = alto;
}
else {
altoF = V * propH;
anchoF = ancho;
}
de = (ancho - anchoF) / 2;
su = (alto - altoF) /2;
imagen="<div style='width:"+ancho+";height:"+alto+";border:1px outset'>";
imagen+="<img src='"+foto+"' widht="+anchoF+" height="+altoF;
imagen+=" style='position:relative; left:"+de+";top:"+su+"'>";
imagen+="</div>";
document.write(imagen);
}
</script>
</head>
<body>
<script>
minifoto("foto.jpg",399,291,90,80);
</script>
</body>
</html>
A la función minifoto se pasan: el nombre de la imágen, el ancho y alto real de la imágen y el ancho y alto en el que se quiere poner la imágen. La función "encaja" la imágen en un recuadro manteniendo las proporciones.
Nota: Me recuerda el amigo Bravenap, que aunque la imágen aparece en tamaño reducido, se descarga completa, es decir, con su tamaño real, por lo que no supone reducción del tiempo de descarga. Deberá tenerse esto en cuenta si se quiere utilizar este código con imágenes muy grandes o con muchas imágenes.