Ver Mensaje Individual
  #1 (permalink)  
Antiguo 06/08/2010, 03:39
sarvatxoweb
 
Fecha de Ingreso: julio-2010
Mensajes: 6
Antigüedad: 13 años, 9 meses
Puntos: 0
Pregunta Problema al redimensionar imágenes

Hola,

estoy haciendo una aplicación y al realizar la redimensión de las imágenes al subirlas, algunas de ellas me aparecen algo desconfiguradas (por llamarlo de alguna forma):

El código es el siguiente:

Código PHP:

$foto
->insert($conexion);
$nuevo_id mysql_insert_id();
echo(
mysql_error());
            
//LA AÑADIMOS FÍSICAMENTE
$uploaddir="./fotos_inmuebles/ref_"$foto->referencia."/";    $nombre_fichero=$nuevo_id."_".$foto->nombre strrchr($HTTP_POST_FILES['archivo']['name'],'.'); 

$especiales = array("á","é","í","ó","ú","ñ","Á","É","Í","Ó","Ú","Ñ");
$correc_especiales = array("a","e","i","o","u","ny","A","E","I","O","U","NY");

$nombre_fichero str_replace($especiales,$correc_especiales,$nombre_fichero);
$uploadfile $uploaddir $nombre_fichero;

if(!
move_uploaded_file($HTTP_POST_FILES['archivo']['tmp_name'], $uploadfile))
    {
        print(
"<script>alert('No se ha copiado la foto');</script>");
    }

$origen=$uploadfile;
$destino=$uploadfile;
$destino_temporal=tempnam("./tmp/","tmp");
redimensionar_jpeg($origen$destino_temporal600450100);

// guardamos la imagen
$fp=fopen($destino,"w");
fputs($fp,fread(fopen($destino_temporal,"r"),filesize($destino_temporal)));
fclose($fp);

chmod($destino0755);

$foto->updateNombreFichero($conexion,$uploadfile,$nuevo_id);
echo(
mysql_error()); 
La función redimensionar_jpeg:

Código PHP:
function redimensionar_jpeg($img_original$img_nueva$img_nueva_anchura$img_nueva_altura$img_nueva_calidad)

    
// crear una imagen desde el original 
    
$img ImageCreateFromJPEG($img_original); 
    
// crear una imagen nueva 
    
$thumb imagecreatetruecolor($img_nueva_anchura,$img_nueva_altura); 
    
// redimensiona la imagen original copiandola en la imagen 
    
ImageCopyResized($thumb,$img,0,0,0,0,$img_nueva_anchura,$img_nueva_altura,ImageSX($img),ImageSY($img)); 
     
// guardar la nueva imagen redimensionada donde indicia $img_nueva 
    
ImageJPEG($thumb,$img_nueva,$img_nueva_calidad);
    
ImageDestroy($img);


¿Alguna idea de por qué ocurre esto?

Un saludo y gracias