"Se um trabalhador quiser fazer bem o seu trabalho, ele deve primeiro afiar suas ferramentas." - Confúcio, "Os Analectos de Confúcio. Lu Linggong"
Primeira página > Programação > Como suavizar imagens redimensionadas com JavaScript Canvas?

Como suavizar imagens redimensionadas com JavaScript Canvas?

Publicado em 2024-11-04
Navegar:710

How to Smooth Resized Images with JavaScript Canvas?

Suavização de imagens redimensionadas com tela JavaScript

Redimensionar imagens com tela HTML fornece uma maneira conveniente de manipular recursos visuais em um aplicativo da web. No entanto, o algoritmo de redimensionamento padrão pode resultar em imagens pixeladas ou irregulares, sem a suavidade encontrada em softwares de edição de imagens. Esse problema pode ser resolvido incorporando técnicas de suavização de imagem.

Uma abordagem para obter suavidade é reduzir a escala em etapas. Este método envolve redimensionar a imagem gradualmente, usando incrementos menores. Por exemplo, em vez de redimensionar diretamente a imagem original para 50%, você pode primeiro reduzi-la para 75%, depois para 62,5% e assim por diante. Essa abordagem incremental reduz o impacto da interpolação de pixels, resultando em um resultado mais suave.

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

Outro método é definir a propriedade imageSmoothingQuality, que é compatível com navegadores modernos, como o Chrome. Esta propriedade controla o algoritmo de interpolação usado para redimensionamento de imagem. Ao defini-lo como "alto", os navegadores podem mudar para um método de interpolação bicúbica mais avançado, melhorando a suavidade da imagem.

canvas.getContext('2d', { imageSmoothingQuality: "high" });

Utilizar a redução de escala em etapas ou ajustar a qualidade de suavização da imagem permite que os desenvolvedores melhorem a aparência de imagens redimensionadas com tela JavaScript, criando resultados visualmente atraentes.

Declaração de lançamento Este artigo foi reimpresso em: 1729599615 Se houver alguma violação, entre em contato com [email protected] para excluí-lo
Tutorial mais recente Mais>

Isenção de responsabilidade: Todos os recursos fornecidos são parcialmente provenientes da Internet. Se houver qualquer violação de seus direitos autorais ou outros direitos e interesses, explique os motivos detalhados e forneça prova de direitos autorais ou direitos e interesses e envie-a para o e-mail: [email protected]. Nós cuidaremos disso para você o mais rápido possível.

Copyright© 2022 湘ICP备2022001581号-3