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 original
$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.