im prendere upload di immagini su un sito Web e cambiare le immagini in miniature che si adattano a un quadrato bianco 100 x 100. il problema è che le immagini sembrano non anti-alias correttamente. le immagini ridotte in photoshop appaiono lisce, ma queste appaiono croccanti, come super nitide.php imagejpeg fa schifo: perché?
dai uno sguardo allo these samples, mostrando a grandezza intera a sinistra e le miniature a destra (visualizza al 100%). la foto viene fuori ridicolmente affilato, ma molte persone potrebbero non esserne disturbate. il disegno però è mooolto inaccettabile. quelle linee curve non sono affatto anti-alias e diventano linee tratteggiate.
im using imagejpg(), e la qualità jpg che ho scelto non ha alcun effetto sulla croccantezza. ecco alcuni dei codici che la circondano:
$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);
qualche idea? è normale? Grazie!
Non ci sarà molta differenza tra 90 e 100. Inoltre, penso che sia più l'operazione di ridimensionamento che l'operazione di salvataggio che spreca il risultato. Inoltre, OP ha detto che cambiare la qualità non migliora nulla. – zneak
giusto, ma può aiutare ... il 10% ... 'imagecopyresampled()' ha funzionato a meraviglia per me in passato. – jordanstephens
d'accordo, "prova a usare imagecopyresampled() piuttosto che imagecopyresized()" –