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