Estoy cargando imágenes en un sitio web y cambiando las imágenes a miniaturas que se ajustan a un cuadrado blanco de 100 x 100. el problema es que las imágenes parecen no anti-alias correctamente. las imágenes del photoshop se ven suaves, pero se ven crujientes, como súper afiladas.php imagejpeg calidad apesta: ¿por qué?
eche un vistazo a these samples, mostrando el tamaño completo a la izquierda y las miniaturas a la derecha (ver al 100%). la foto sale ridículamente afilada, pero a mucha gente no le molestará. el dibujo, sin embargo, es inaceptable. esas líneas curvas simplemente no se vuelven anti-alias y se convierten en líneas punteadas.
im utilizando imagejpg(), y la calidad de jpg que elijo no tiene ningún efecto sobre el crujido. Aquí está el código que lo rodea:
$tmp_img = imagecreatetruecolor($maxSize, $maxSize);
$white = ImageColorAllocate ($tmp_img, 255, 255, 255);
ImageFill($tmp_img, 0, 0, $white);
imagecopyresized($tmp_img, $img, $offsetx, $offsety, 0, 0, $new_width, $new_height, $width, $height);
$thumbFullPath = "{$pathToThumbs}/{$filenameNoExtension}.jpg";
imagejpeg($tmp_img, $thumbFullPath, 90);
¿Alguna idea? ¿esto es normal? ¡Gracias!
No habrá mucha diferencia entre 90 y 100. Además, creo que es más la operación de escalado que la operación de guardar lo que desperdicia el resultado. Además, OP dijo que cambiar la calidad no mejora nada. – zneak
bien, pero puede ayudar ... 10% ... 'imagecopyresampled()' me ha funcionado de maravillas en el pasado. – jordanstephens
de acuerdo, "intente usar imagecopyresampled() en lugar de imagecopyresized()" –