Lors du redimensionnement d'une image à l'aide de JavaScript et d'un canevas HTML5, il est courant de rencontrer une mauvaise qualité d'image lors de la réduction de l'image. Ce problème se pose car l'algorithme de redimensionnement par défaut de la plupart des navigateurs utilise l'interpolation du voisin le plus proche, ce qui conduit à des résultats pixellisés.
Pour obtenir une meilleure qualité de redimensionnement, vous pouvez implémenter un algorithme plus avancé, tel que le rééchantillonnage de Lanczos, qui préserve l'image de l'image. netteté et douceur.
Voici une implémentation JavaScript de l'algorithme de rééchantillonnage Lanczos pour le redimensionnement d'image dans un toile :
function thumbnailer(elem, img, sx, lobes) { // ... (code remains the same as in the reference answer) }
Avec cet algorithme, vous pouvez redimensionner des images avec une excellente qualité et éviter l'apparence pixellisée. Par exemple :
img.onload = function() { var canvas = document.createElement("canvas"); new thumbnailer(canvas, img, 188, 3); // You can adjust the lobes parameter for different levels of sharpness document.body.appendChild(canvas); };
En utilisant ce code, les navigateurs peuvent produire des images redimensionnées de haute qualité, garantissant une meilleure expérience utilisateur et préservant l'intégrité de vos visuels.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!