Maison > interface Web > js tutoriel > Comment puis-je redimensionner des images sur un canevas HTML5 sans perte de qualité ?

Comment puis-je redimensionner des images sur un canevas HTML5 sans perte de qualité ?

Linda Hamilton
Libérer: 2024-11-27 05:31:14
original
244 Les gens l'ont consulté

How Can I Resize Images on an HTML5 Canvas Without Losing Quality?

Comment redimensionner une image dans un canevas HTML5

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)
}
Copier après la connexion

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);
};
Copier après la connexion

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!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal