Maison > interface Web > js tutoriel > le corps du texte

Comment lisser des images redimensionnées avec JavaScript Canvas ?

Mary-Kate Olsen
Libérer: 2024-10-22 22:31:29
original
926 Les gens l'ont consulté

How to Smooth Resized Images with JavaScript Canvas?

Lissage des images redimensionnées avec JavaScript Canvas

Le redimensionnement des images avec un canevas HTML offre un moyen pratique de manipuler des visuels dans une application Web. Cependant, l'algorithme de redimensionnement par défaut peut donner lieu à des images pixellisées ou irrégulières, dépourvues de la fluidité des logiciels de retouche d'images. Ce problème peut être résolu en incorporant des techniques de lissage d'image.

Une approche pour obtenir une fluidité est la réduction d'échelle par étapes. Cette méthode consiste à redimensionner l'image progressivement, en utilisant des incréments plus petits. Par exemple, au lieu de redimensionner directement l'image originale à 50 %, vous pouvez d'abord la réduire à 75 %, puis à 62,5 %, et ainsi de suite. Cette approche incrémentielle réduit l'impact de l'interpolation des pixels, ce qui donne un résultat plus fluide.

<code class="javascript">var oc = document.createElement('canvas'),
    octx = oc.getContext('2d');

oc.width = img.width * 0.5;
oc.height = img.height * 0.5;
octx.drawImage(img, 0, 0, oc.width, oc.height);

// ...

ctx.drawImage(oc, 0, 0, oc.width * 0.5, oc.height * 0.5,
    0, 0, canvas.width, canvas.height);</code>
Copier après la connexion

Une autre méthode consiste à définir la propriété imageSmoothingQuality, qui est prise en charge dans les navigateurs modernes tels que Chrome. Cette propriété contrôle l'algorithme d'interpolation utilisé pour le redimensionnement de l'image. En le réglant sur "élevé", les navigateurs peuvent passer à une méthode d'interpolation bicubique plus avancée, améliorant ainsi la fluidité de l'image.

<code class="javascript">canvas.getContext('2d', { imageSmoothingQuality: "high" });</code>
Copier après la connexion

L'utilisation de la réduction d'échelle par étapes ou l'ajustement de la qualité du lissage de l'image permet aux développeurs d'améliorer l'apparence des images redimensionnées. images avec un canevas JavaScript, créant des résultats visuellement attrayants.

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
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