[JavaScript] 자바스크립트 캔버스(Canvas)에 디바이스 화소 맞추기
2022. 6. 16. 00:27ㆍProgram/JavaScript
093_자바스크립트 캔버스(Canvas)에 디바이스 화소 맞추기
[적용]
- 캔버스 요소를 고해상도 디스플레이로 표시하고 싶을 때
[내용]
캔버스 요소는 화소의 비율 계산에 사용할 수 있다.
캔버스에 표시하고 싶은 사이즈에 화소비율을 곱해서 값을 설정한다.
표시 사이즈를 지정하는 스타일 시트를 확인해 보자.
// 디바이스 화소 비율 가져오기
const dpr = window.devicePixelRatio;
// 캔버스의 논리적 크기
const w = 200;
const h = 200;
// 캔버스 요소 사이즈 조정
const canvas = document.querySelector('canvas');
canvas.width = w * dpr; // 실제 크기는 배가 됨
canvas.height = h * dpr;
canvas.style.width = w + 'px'; // 화면 표시 단위 설정
canvas.style.height = h + 'px';
const context = canvas.getContext('2d');
// 스케일 설정
context.scale(dpr, dpr); // 내부적으로 N배의 사이즈
// 원을 그림
context.fillStyle = 'red';
context.arc(w / 2, h / 2, 100, 0, 2 * Math.PI);
context.fill();
// 화면에 로그를 표시
document.querySelector('.log').innerHTML =
`디바이스의 화소 비율은 ${dpr}입니다.`;
참조 :
실무에 바로 적용하는 자바스크립트 코드레시피 278
아케다 야스노부, 카노 타케시 지음 / 이춘혁 옮김
'Program > JavaScript' 카테고리의 다른 글
[JavaScript] 자바스크립트로 HTML 페이지 이동하기 (0) | 2022.06.16 |
---|---|
[JavaScript] 자바스크립트에서 터치 디바이스 사용 확인하기 (0) | 2022.06.16 |
[JavaScript] 자바스크립트에서 디바이스 화소 확인하기 (0) | 2022.06.15 |
[JavaScript] 자바스크립트에서 윈도우 사이즈 확인하기 (0) | 2022.06.14 |
[JavaScript] 자바스크립트 입력 프롬프트 표시하기 prompt() (0) | 2022.06.14 |