dominios y alojamiento web en hostalia

Ancho maximo para una imagen

Hola que tal??? Ando con un problemita, les cuento. Necesito saber como se puede limitar el ancho de una imagen, es decir el ancho maximo que tiene mi...

La FAQ Ancho maximo para una imagen tiene

Pertenece a la categoría:

Pregunta
Hola que tal??? Ando con un problemita, les cuento. Necesito saber como se puede limitar el ancho de una imagen, es decir el ancho maximo que tiene mi div es de 500px y como las imagenes que cargo ahi es subida por mi cliente, necesitaria que si la imagen es mas ancha la ajuste a 500px de ancho, sin perder la relacion del tamaño (alto x ancho). Se entiende? es decir que si se sube una imagen menor a 500px de ancho la deje como esta, si es mayor proceda a ajustarle el tamaño. Ojo no necesito que le cambie el tamaño real a la imagen, solo que lo ajuste con las propiedades heigth y width de , aunque si la unica solución es cambiarle el temaño real no hay drama.
Uso PHP version 5 por si sirve de algo. Muchas Gracias! Espero la respuesta! SALUDOS


Respuesta de ocp001a
mediante la funcion getimagesize puedes obtener las dimensiones de una imagen, con ello ya puedes operar de la manera que te convenga.

Complementar la respuestaComplementar la respuesta
Volver al árbol de categoríasVolver al árbol de categorías

Comentarios
Fueron enviados 2 comentarios a la faq
2 comentarios revisados:

nnbr01
Ancho maximo de imagenes.
15/12/2010
Hola, lo que puedes usar es un plugin que se llama timthumb

(http://www.nosolocodigo.com/timthumb-script-php-para-redimensionar-y-optimizar-imagenes) que va a redimensionar y ademas cropear tu imagen, es muy practico.

La otra es que lo hagas con CSS- Seria algo asi:

.ancho_max_imagen {

-ms-interpolation-mode: bicubic; //hack ie
max-width:500px;
max-height:auto;
}

Todo lo que sea mayor a 500px se va a acomodar en los dos casos. Pero no sirven para imagenes menores a 500px, tendrias que hablar con tu cliente y explicarle que las imágenes deben tener un ancho mínimo.


Saludos, espero que te sirva.

Fernando

alberto...
Tal vez esto ayude
16/12/2010
Hola! ¿Cómo estas? No se si pudiste resolver tu problema, pero te dejo una función que fuí armando para un sitio que tenía que hacer mas o menos lo mismo que el tuyo:
<?php
/*Esta función modifica el tamaño de la imagen
Se ingresa el ancho y calcula automáticamente el alto
$nombre debe recibir la ruta y el nombre de la imagen de origen
$archivo debe recibir la ruta y el nombre de la ruta de destino
$maximo debe recibir el ancho que debe tener la imagen*/
function redimensionar ($nombre, $archivo, $maximo)
{
//crea una imagen auxiliar
$imagen = imagecreatefromjpeg($nombre);
$x = imagesx($imagen);
$y = imagesy($imagen);

//realiza los cálculos para el ancho de la nueva imagen
$dimension=$y/$maximo;
$w = $x/$dimension;
$h = $y/$dimension;
//crea una imagen de destino
$destino = imagecreatetruecolor($w, $h);
//y modifica el valor
imagecopyresampled($destino,$imagen,0,0,0,0,$w,$h,$x,$y);

//mueve la imagen a la ubicación necesaria
imagejpeg($destino,$archivo);

//y destruye las imagenes auxiliares
imagedestroy($imagen);
imagedestroy($destino);
}
?>

A esta función la llamo así:
redimensionar($archivo_inicial,$archivo_final,$ancho);
Si $archivo_inicial = $archivo_final entonces se borra el primero. Y esto no controla si se le pasa un jpg (eso lo hacía en otro lado).

Espero que te sirva, saludos

Volver al árbol de categoríasVolver al árbol de categorías

Donaciones
Si piensas que te hemos ayudado y merecemos tu apoyo económico...