Foros del Web » Programando para Internet » PHP »

Como puedo guardar una imagen una vez redimensionada?

Estas en el tema de Como puedo guardar una imagen una vez redimensionada? en el foro de PHP en Foros del Web. Tengo un pequeño trozo de codigo que me redimensiona una imagen, y me la muestra correctamente en el navegador, pero necesito poder guardarla como un ...
  #1 (permalink)  
Antiguo 20/12/2005, 23:25
 
Fecha de Ingreso: abril-2004
Mensajes: 10
Antigüedad: 13 años, 7 meses
Puntos: 0
Como puedo guardar una imagen una vez redimensionada?

Tengo un pequeño trozo de codigo que me redimensiona una imagen, y me la muestra correctamente en el navegador, pero necesito poder guardarla como un fichero .jpg una vez redimensionada.

¿ Como puedo hacerlo ?

Gracias.

//// codigo //////
imagecopyresampled($thumb, $img, 0, 0, 0, 0, $anchura, $altura, $datos[0], $datos[1]);



if($datos[2]==1){header("Content-type: image/gif"); imagegif($thumb);}
if($datos[2]==2){header("Content-type: image/jpeg");imagejpeg($thumb);}
if($datos[2]==3){header("Content-type: image/png");imagepng($thumb); }

///// Ahora quiero salvar la imagen que me devuelve, una vez redimensionada ! ///////
he probado con imagejpeg($thumb,"imagen.jpg",100) pero no me la guarda.
Un help ?.
  #2 (permalink)  
Antiguo 21/12/2005, 03:59
 
Fecha de Ingreso: abril-2005
Mensajes: 139
Antigüedad: 12 años, 7 meses
Puntos: 1
aqui te dejo una funcion que te creara thumbnails de las imagenes que quieras. Supongo que era eso lo que querias.

Código PHP:
 function thumb($archivoorigen,$archivodestino,$ancho,$largo,$calidadcompresion=100){

  
$fw=$ancho;
  
$fh=$largo;

  if(
file_exists($archivoorigen))
  {
      
$is=getimagesize($archivoorigen);
                
            
//Al cambiar este condicional se selecciona el ancho o el largo como valor fijo
     
      
if(($is[0]-$fw)>=($is[1]-$fh))
      {
          
$iw=$fw;
          
$ih=($fw/$is[0])*$is[1];
      }
      else
      {
          
$ih=$fh;
          
$iw=($ih/$is[1])*$is[0];
      }

if(
$is[2]==1)      
  @
$imagenorigen=imagecreatefromgif($archivoorigen);
 if(
$is[2]==2)      
  @
$imagenorigen=imagecreatefromjpeg($archivoorigen);
if(
$is[2]==3)      
  @
$imagenorigen=imagecreatefrompng($archivoorigen);     

$imagendestino=imagecreatetruecolor($iw,$ih);
@
$re=imagecopyresampled($imagendestino$imagenorigen0000$iw$ih$is[0], $is[1]);



if(
$is[2]==1)      
  
imagegif($imagendestino$archivodestino$calidadcompresion);
if(
$is[2]==2)      
  
imagejpeg($imagendestino$archivodestino$calidadcompresion);
if(
$is[2]==3)      
  
imagepng($imagendestino$archivodestino$calidadcompresion);
     
imagedestroy($imagendestino);

return 
true;

Supongamos que tienes una foto en el directorio imagenes de tu web
/imagenes/foto.jpg
Que quieres guardar los thumbnail de la foto en la carpeta thumb dentro de imagenes
/imagenes/thumb/
El thumbnail lo quieres que tenga un ancho maximo de 100 pixeles y que te respete la proporcion.
El script lo ejecutas con esta funcion desde el directorio raiz
/script.php


Código PHP:
// designamos variables...
$archivoorigen="/imagenes/foto.jpg"
$archivodestino="/imagenes/thumb/foto.jpg";
$ancho=100;
// la calidad la puedes modificar desde la misma funcion

// llamamos a la funcion
if(!thumb($archivoorigen,$archivodestino,$ancho,$largo,$calidadcompresion=100))
{exit(
Thumbnail no creado);}
else{echo 
"Thumbnail creado correctamente";} 
Ya puedes mostrar el thumbnail como cualquier imagen.

P.D. La funcion no esta probada, si no te funciona o te da algun error comunicamelo.
__________________
Ciao y suerte.
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 21:46.