Foros del Web » Programando para Internet » PHP »

Reducir tamaño de imagenes al mostrar registro

Estas en el tema de Reducir tamaño de imagenes al mostrar registro en el foro de PHP en Foros del Web. Hola , miren les comento de un problema que tengo , yo en mi web los usuarios pueden postear , como en un blog , ...
  #1 (permalink)  
Antiguo 15/01/2009, 12:30
Avatar de tata009  
Fecha de Ingreso: septiembre-2008
Ubicación: En mi casa
Mensajes: 426
Antigüedad: 15 años, 7 meses
Puntos: 3
Pregunta Reducir tamaño de imagenes al mostrar registro

Hola , miren les comento de un problema que tengo , yo en mi web los usuarios pueden postear , como en un blog , pero el problema es que el div donde muestro el registro , no es muy grande , tampoco es chico , pero cuando algun usuario postea una imagen demasiado grande se sale del div y se descuadra todo , entonces me gustaria saber como puedo hacer para darle un tamaño maximo a cada imagen por ejemplo :

si le doy maximo 640x480 , y postean una de 1024x768 la reduzca de tamaño a 640x480...


bueno espero que me hayan entendido , un abrazo :)
__________________
SI pones un CD de MIcrosoft al reves aparecen mensajes satanicos pero si lo pones a la derecha PEOR SE TE INSTALA WINDOWS!!!!
Para webmasters e informaticos
  #2 (permalink)  
Antiguo 15/01/2009, 12:33
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años
Puntos: 2135
Respuesta: Reducir tamaño de imagenes al mostrar registro

Hola tata009,

Revisa en el foro, en los aportes y en las FAQs hay varias funciones para redimensionar.

Saludos
  #3 (permalink)  
Antiguo 15/01/2009, 12:38
Avatar de tata009  
Fecha de Ingreso: septiembre-2008
Ubicación: En mi casa
Mensajes: 426
Antigüedad: 15 años, 7 meses
Puntos: 3
Respuesta: Reducir tamaño de imagenes al mostrar registro

Cita:
Iniciado por GatorV Ver Mensaje
Hola tata009,

Revisa en el foro, en los aportes y en las FAQs hay varias funciones para redimensionar.

Saludos
Hola GatorV gracias por responder , mira tengo una funcion que funciona bien para redimensionar , pero no me doy cuenta como debo hacer para que esta funcion redimensione todas las imagenes que haya posteado un usuario , nose si me explico , miren aca les dejo la funcion:

Código PHP:
<?php

/*Función REDIMENSIONAR
Toma la ruta de una imagen, un valor máximo 
de ancho y otro máximo de alto. Si la imagen 
rebasa dichas medidas, calcula las medidas 
máximas que podría tener manteniendo el 
formato original para no salirse de las medidas
indicadas.

Finalmente la función imprime la imagen.
*/

function redimensionar($ruta,$ancho,$alto){

//Obtenemos las dimensiones, la ruta es absoluta.
$dim getimagesize($ruta);
/*getimagesize() pasa un array a la variable
$dim tal que $dim[0] contiene el ancho de la imagen 
y dim[1] contiene el alto.*/
if($dim[1]){
//Para asegurarnos de que dim[1] es diferente de cero
$cociente $dim[0] / $dim[1];
}
if(
$alto){
//Para asegurarnos de que alto es diferente de cero
$coc_max $ancho $alto;
}

    if((
$dim[0]<=$ancho)&&($dim[1]<=$alto)){
    
/*En este caso no pasa nada y 
    la imagen se imprime con su tamaño original*/
    
$ancho $dim[0];
    
$alto $dim[1];
    }else{
        if(
$cociente>=$coc_max){
        
/*En este caso el factor más restrictivo
        va a ser el ancho de la foto*/
        
$alto $ancho $cociente;
        }else{
        
/*En este caso el factor restrictivo 
        va a ser la altura de la foto*/
        
$ancho $alto $cociente;
        }
    }
    echo 
"<img src='$ruta' width='$ancho' height='$alto'>";
    
}
?>
__________________
SI pones un CD de MIcrosoft al reves aparecen mensajes satanicos pero si lo pones a la derecha PEOR SE TE INSTALA WINDOWS!!!!
Para webmasters e informaticos
  #4 (permalink)  
Antiguo 15/01/2009, 13:00
Avatar de antena72  
Fecha de Ingreso: abril-2008
Mensajes: 15
Antigüedad: 16 años
Puntos: 0
Respuesta: Reducir tamaño de imagenes al mostrar registro

Hola,

Si los registros se guardan en una base de datos, me parece que lo mejor es que uses tu funcion cada vez que alguien postea su imagen, primero deberia modificarse el tamaño y despues guardarse en el servidor ya redimensionada.

Con respecto a las imagenes ya subidas... deberias hacer un script que verifique el tamaño de las imagenes cada vez que alguien entra a la pagina donde puedan verse.

suerte!

Última edición por GatorV; 15/01/2009 a las 13:25
  #5 (permalink)  
Antiguo 15/01/2009, 13:27
Avatar de tata009  
Fecha de Ingreso: septiembre-2008
Ubicación: En mi casa
Mensajes: 426
Antigüedad: 15 años, 7 meses
Puntos: 3
Respuesta: Reducir tamaño de imagenes al mostrar registro

Cita:
Iniciado por antena72 Ver Mensaje
Hola,

Si los registros se guardan en una base de datos, me parece que lo mejor es que uses tu funcion cada vez que alguien postea su imagen, primero deberia modificarse el tamaño y despues guardarse en el servidor ya redimensionada.

Con respecto a las imagenes ya subidas... deberias hacer un script que verifique el tamaño de las imagenes cada vez que alguien entra a la pagina donde puedan verse.

suerte!
Pero las imagenes no estan almacenadas en mi servidor , solo son las url que con esa funcion las achico
__________________
SI pones un CD de MIcrosoft al reves aparecen mensajes satanicos pero si lo pones a la derecha PEOR SE TE INSTALA WINDOWS!!!!
Para webmasters e informaticos
  #6 (permalink)  
Antiguo 15/01/2009, 13:40
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años
Puntos: 2135
Respuesta: Reducir tamaño de imagenes al mostrar registro

En ese caso si son URLs lo que puedes hacer es con HTML hacer la redimension, ya que esa funcion solo sirve para imagenes locales.

Saludos
  #7 (permalink)  
Antiguo 15/01/2009, 13:59
Avatar de tata009  
Fecha de Ingreso: septiembre-2008
Ubicación: En mi casa
Mensajes: 426
Antigüedad: 15 años, 7 meses
Puntos: 3
Respuesta: Reducir tamaño de imagenes al mostrar registro

Cita:
Iniciado por GatorV Ver Mensaje
En ese caso si son URLs lo que puedes hacer es con HTML hacer la redimension, ya que esa funcion solo sirve para imagenes locales.

Saludos
Hola GatorV , mira yo lo puedo hacer bien , solo que en el perfil de esta manera:

Código PHP:
<?
    
include ("redimensionar.php");  ?>
                 
<?    $userinfo[avatar] = $result['avatar']; /*ruta relativa de la 
                                          imagen a mostrar*/

    
redimensionar($userinfo[avatar],200,200);  ?> </center>

no se te ocurre alguna forma que lo pueda hacer pero para todas las imagenes en el post ?
__________________
SI pones un CD de MIcrosoft al reves aparecen mensajes satanicos pero si lo pones a la derecha PEOR SE TE INSTALA WINDOWS!!!!
Para webmasters e informaticos
  #8 (permalink)  
Antiguo 15/01/2009, 14:16
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años
Puntos: 2135
Respuesta: Reducir tamaño de imagenes al mostrar registro

Pues si las tienes en tu server local puedes usar la misma funcion, la libreria GD trabaja a nivel local, no con URLs.

Saludos
  #9 (permalink)  
Antiguo 15/01/2009, 14:32
Avatar de tata009  
Fecha de Ingreso: septiembre-2008
Ubicación: En mi casa
Mensajes: 426
Antigüedad: 15 años, 7 meses
Puntos: 3
Respuesta: Reducir tamaño de imagenes al mostrar registro

Cita:
Iniciado por GatorV Ver Mensaje
Pues si las tienes en tu server local puedes usar la misma funcion, la libreria GD trabaja a nivel local, no con URLs.

Saludos
hola GatorV , mira , la funcion esta que te pase , me funciona bien con URL'S , el problema es que no se como hacer para que lo haga con todas las URL'S
__________________
SI pones un CD de MIcrosoft al reves aparecen mensajes satanicos pero si lo pones a la derecha PEOR SE TE INSTALA WINDOWS!!!!
Para webmasters e informaticos
  #10 (permalink)  
Antiguo 15/01/2009, 14:34
 
Fecha de Ingreso: enero-2009
Mensajes: 165
Antigüedad: 15 años, 3 meses
Puntos: 1
Respuesta: Reducir tamaño de imagenes al mostrar registro

Hola, fíjate si te sirve esto, es como el que tienes, pero mas simple
Cita:
<?php

$ancho_maximo = 500 ;
$url = "http://www.ejemplo.com/imagen.jpg";
$datos = getimagesize($url) OR die("Imagen no válida"); // recupera los tamaños
if ($datos[0] > $ancho_maximo ) { // si el ancho es mayor al máximo
$ancho = $ancho_maximo } else { $ancho = $datos[0] ; } ; // lo limitamos sino lo dejamos como está
echo '<img src="'.$url.'" width="'.$ancho.'" border="0"/>'; // mostramos la imagen


?>
  #11 (permalink)  
Antiguo 15/01/2009, 14:43
Avatar de tata009  
Fecha de Ingreso: septiembre-2008
Ubicación: En mi casa
Mensajes: 426
Antigüedad: 15 años, 7 meses
Puntos: 3
Respuesta: Reducir tamaño de imagenes al mostrar registro

uy gracias , tambien me sirve pero nose como hacer para que se haga automaticamente con cada imagen que se agrega con el editor , que luego se postea :(
__________________
SI pones un CD de MIcrosoft al reves aparecen mensajes satanicos pero si lo pones a la derecha PEOR SE TE INSTALA WINDOWS!!!!
Para webmasters e informaticos
  #12 (permalink)  
Antiguo 15/01/2009, 15:40
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años
Puntos: 2135
Respuesta: Reducir tamaño de imagenes al mostrar registro

Con expresiones regulares puedes buscar en todo el texto y cambiar solo las partes que necesites.

Saludos
  #13 (permalink)  
Antiguo 15/01/2009, 16:33
Avatar de tata009  
Fecha de Ingreso: septiembre-2008
Ubicación: En mi casa
Mensajes: 426
Antigüedad: 15 años, 7 meses
Puntos: 3
Respuesta: Reducir tamaño de imagenes al mostrar registro

Ya esta listo , pude hacer exaactamente lo que queria :) , gracias a todos
__________________
SI pones un CD de MIcrosoft al reves aparecen mensajes satanicos pero si lo pones a la derecha PEOR SE TE INSTALA WINDOWS!!!!
Para webmasters e informaticos
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 11:27.