JavaScript 및 HTML5 캔버스를 사용하여 이미지 크기를 조정할 때 이미지를 축소하면 이미지 품질이 저하되는 것이 일반적입니다. 이 문제는 대부분의 브라우저에서 기본 크기 조정 알고리즘이 Nearest Neighbor 보간법을 사용하여 결과가 픽셀화되기 때문에 발생합니다.
더 나은 크기 조정 품질을 얻으려면 이미지의 크기를 유지하는 Lanczos 리샘플링과 같은 고급 알고리즘을 구현할 수 있습니다. 선명함과 부드러움.
다음은 이미지 크기 조정을 위한 Lanczos 리샘플링 알고리즘의 JavaScript 구현입니다. 캔버스:
function thumbnailer(elem, img, sx, lobes) { // ... (code remains the same as in the reference answer) }
이 알고리즘을 사용하면 우수한 품질로 이미지 크기를 조정하고 픽셀화된 모양을 피할 수 있습니다. 예:
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); };
이 코드를 사용하면 브라우저에서 크기가 조정된 고품질 이미지를 생성하여 더 나은 사용자 경험을 보장하고 시각적 요소의 무결성을 유지할 수 있습니다.
위 내용은 품질 저하 없이 HTML5 캔버스에서 이미지 크기를 어떻게 조정할 수 있습니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!