// Canvas 지원 여부 확인
if (Modernizr.canvas) { // 지원하면 true
console.log('Canvas를 지원하는 브라우저');
}
const canvas = document.querySelector('canvas');
if (canvas.getContext) {
console.log('캔버스 지원');
}
.canvas {
width: 500px;
height: 300px;
background: #eee;
}
<h1>캔버스 사이즈 설정</h1>
<canvas class="canvas" width="500" height="300"></canvas>
<canvas class="canvas canvas2" width="1000" height="600"></canvas>
<script>
const canvas = document.querySelector('.canvas');
const canvas2 = document.querySelector('.canvas2');
const context = canvas.getContext('2d');
const context2 = canvas2.getContext('2d');
context.arc(100, 100, 50, 0, Math.PI*2, false);
context2.arc(100, 100, 50, 0, Math.PI*2, false);
context.fill();
context2.fill();
</script>
서로 크기가 다른 canvas의 크기를 css로 똑같이 변경할 수 있지만 화면을 그려보면 결과는 다르다.
css로 크기를 억지로 줄여 놓은것이기 때문에 겉모습은 같지만 좌표 값이 다르다.
때문에 아래 그림처럼 같은 값을 주고 그려도 결과는 다르게 보인다.
고해상도 디스플레이에서 고해상도 이미지 표현을 하기 위해 css로 크기 줄여서 사용하기도 한다.
만약 canvas가 화면을 꽉 채운다면?