hola muy buenas tengo este código que me sube una imagen a mi web y me pone unas medidas especificas.
El caso es que cuando me sube la calidad es pésima y el color cambia y no entiendo cual es el problema este es el código que tengo puesto para que me realice esta operación:
Código PHP:
Ver originalif (isset ($_FILES['logo']['name'])){ $nombre_archivo=$_FILES['logo']['name'];
echo $nombre_archivo;
$tamano=$_FILES['logo']['size'];
if($tamano > 100000000){
echo " OCUPA DEMASIADO.";
}else{
echo " HA SIDO SUBIDO.";
}else{
echo " NO HA SIDO SUBIDO.";
}
}
}
//reducir tamaño imagen
# ruta de la imagen a redimensionar
$imagen= "imglogo/$nombre_archivo";
# ruta de la imagen final, si se pone el mismo nombre que la imagen, esta se sobreescribe
$imagen_final="imglogo/$nombre_archivo";
$ancho_nuevo=150;
$alto_nuevo=150;
## FIN CONFIGURACION #############################
redim ($imagen,$imagen_final,$ancho_nuevo,$alto_nuevo);
function redim($ruta1,$ruta2,$ancho,$alto)
{
# se obtene la dimension y tipo de imagen
$ancho_orig = $datos[0]; # Anchura de la imagen original
$alto_orig = $datos[1]; # Altura de la imagen original
$tipo = $datos[2];
if ($tipo==1){ # GIF
else
return false;
}
else if ($tipo==2){ # JPG
else
return false;
}
else if ($tipo==3){ # PNG
else
return false;
}
# Se calculan las nuevas dimensiones de la imagen
if ($ancho_orig>$alto_orig)
{
$ancho_dest=$ancho;
$alto_dest=($ancho_dest/$ancho_orig)*$alto_orig;
}
else
{
$alto_dest=$alto;
$ancho_dest=($alto_dest/$alto_orig)*$ancho_orig;
}
// imagecreatetruecolor, solo estan en G.D. 2.0.1 con PHP 4.0.6+
// $img2=@imagecreatetruecolor($ancho_dest,$alto_dest) or
// Redimensionar
// imagecopyresampled, solo estan en G.D. 2.0.1 con PHP 4.0.6+
@imagecopyresampled($img2,$img,0,0,0,0,$ancho_dest,$alto_dest,$ancho_orig,$alto_orig) or
imagecopyresized($img2,$img,0,0,0,0,$ancho_dest,$alto_dest,$ancho_orig,$alto_orig);
// Crear fichero nuevo, según extensión.
if ($tipo==1) // GIF
else
return false;
if ($tipo==2) // JPG
else
return false;
if ($tipo==3) // PNG
else
return false;
return true;
}
$ruta='/blueberryswebtiendas/controlclientes/accesousuarios.php';
?>
se puede mejorar esto o hay algun problema que me proboca esta mala calidad de la imagen, gracias de antemano.