Explicado esto os comento el problema, ahora mismo las miniaturas se estan reduciendo a 200 pixel pero si cambio el valor para que las reduzca a 95 pierden muchisima calidad. Yo por ejemplo cuando reduzco a 95 pixel una imagen con algun programa de diseño de imagen, no se ve borrosa como pasa aqui.
Os muestro la funcion a ver si es que estoy utilizando alguna funcion que reduce mal las fotos o le quita mucha calidad.
Código:
LLAMADA thumbjpeg($miniatura, 200); FUNCION function thumbjpeg($imagen, $altura) { // Lugar donde se guardarán los thumbnails respecto a la carpeta donde está la imagen "grande". $dir_thumb = "tn/"; // Prefijo que se añadirá al nombre del thumbnail. Ejemplo: si la imagen grande fuera "imagen1.jpg", // el thumbnail se llamaría "tn_imagen1.jpg" $prefijo_thumb = "tn_"; $camino_nombre = explode("/", $imagen); // Aquí tendremos el nombre de la imagen. $nombre = end($camino_nombre); // Aquí la ruta especificada para buscar la imagen. $camino = substr($imagen, 0, strlen($imagen) - strlen($nombre)); // Intentamos crear el directorio de thumbnails, si no existiera previamente. if (!file_exists($camino . $dir_thumb)) mkdir($camino . $dir_thumb, 0777) or die("No se ha podido crear el directorio $dir_thumb"); // Aquí comprobamos que la imagen que queremos crear no exista previamente if (!file_exists($camino . $dir_thumb . $prefijo_thumb . $nombre)) { if(extension($nombre) == 'jpg' || extension($nombre) == 'JPG') $img = imagecreatefromjpeg($camino . $nombre) or die("No se encuentra la imagen $camino$nombre<br>n"); else $img = imagecreatefrompng($camino . $nombre) or die("No se encuentra la imagen $camino$nombre<br>n"); // miramos el tamaño de la imagen original... $datos = getimagesize($camino . $nombre) or die("Problemas con $camino$nombre<br>n"); // intentamos escalar la imagen original a la medida que nos interesa $ratio = ($datos[1] / $altura); $anchura = round($datos[0] / $ratio); // esta será la nueva imagen reescalada $thumb = imagecreatetruecolor($anchura, $altura); // con esta función la reescalamos. Si preferimos tener una calidad menor pero que cargue más rapido // podemos sustituirla por imagecopyresized() imagecopyresampled($thumb, $img, 0, 0, 0, 0, $anchura, $altura, $datos[0], $datos[1]); // imagecopyresized($thumb, $img, 0, 0, 0, 0, $anchura, $altura, $datos[0], $datos[1]); //imagecopyresized(... ) //Menos calidad, mas rapido. // voilà la salvamos con el nombre y en el lugar que nos interesa. require_once(LIBRARY_PATH . "/funciones.php"); if(extension($nombre) == 'jpg' || extension($nombre) == 'JPG') imagejpeg($thumb, $camino . $dir_thumb . $prefijo_thumb . $nombre); else imagepng($thumb, $camino . $dir_thumb . $prefijo_thumb . $nombre); } }