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);
}
}



