Canvas#drawImage로 축소할 때 깨끗하게 표시하는 몇 가지 방법
antialias 를 쓸 수 있을까, 좀 더 깨끗하게 표시하는 방법이 없는지 여러가지 찾아 보았습니다.
방법 1. canvasContext.drawImage(source, sx, sy, sw, sh, tx, ty, tw, th) 를 사용해 렌더링 하는 방법
방법 2. HTML5 Rocks에서와 같이
ratio = devicePixelRatio / backingStoreRatio
를 계산하고 캔버스 크기 (width, height) 및 캔버스 뷰 크기 (style.width, style.height)를 설정하고 canvasContext.scale (rario, ratio )를 실행하고 디스플레이의 표현 능력을 활용하는 방법방법 3. StackOverflow에서 볼 수 있듯이 downsampling을 여러 번 수행합니다 (1.0 → 0.5 → 0.25, ...) 부드럽게하는 방법
Example
이미지 1MacBookPro Retina Display
이미지 2DELL 외부 Display
디스플레이 품질
이러한 간단한 예라면,
Retina Display의 표시 품질은
方法2 > 方法3 > 方法1
이며,비 Retina Display의 표시 품질은
方法3 > 方法2 > 方法1
입니다.jsfiddle에서 실제로 시도 할 수 있습니다.
Reference
이 문제에 관하여(Canvas#drawImage로 축소할 때 깨끗하게 표시하는 몇 가지 방법), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/uupaa/items/73f043824c31a918877b텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)