AI 보이는 추론 실험실

AI가 캔버스의 CSS 크기를 키우면 그림도 선명해질까요?

그림을 담는 내부 크기와 화면에 보여 주는 크기를 따로 바꿉니다. 원이 납작해지는 이유와 확대할 때의 화질을 살펴봅니다.

중급게시 2026-10-24읽기·실험 약 10분확인 문제 2개규칙 기반 실행한국논리학협회 자체 제작제작·검수 LTCT 편집부

프로그래밍 교실에서 두 사람이 격자 카드와 모니터의 도형을 비교하고, 작은 올리가 발을 앞으로 뻗고 앉아 격자 카드를 안고 있는 장면
주제 이해를 돕는 AI 생성 연출 사진 · 주제 이해를 돕기 위한 AI 생성 이미지 · LTCT 자체 제작
오늘의 질문

내부 크기를 150×75로 정한 캔버스를 CSS로 300×150픽셀에 표시하면, 내부 그림을 이루는 점의 수도 자동으로 늘어날까요?

내부 비트맵 150×75를 CSS 300×150과 300×100으로 표시할 때 원과 타원의 모양을 비교한 그림
내부 비트맵 150×75를 CSS 300×150과 300×100으로 표시할 때 원과 타원의 모양을 비교한 그림 · 한국논리학협회 자체 제작
그림 크게 보기 ↗
01

캔버스에는 왜 크기가 두 가지 있나요?

HTML의 캔버스(canvas, 프로그램으로 그림을 그리는 영역)는 작은 색점들이 모인 비트맵(bitmap, 그림을 점의 격자로 저장한 것)을 담습니다. canvas의 width와 height 속성은 내부 비트맵의 가로와 세로 크기를 정합니다. CSS의 width와 height는 그 그림을 화면에 표시하는 크기를 정합니다.

이 활동은 내부를 150×75, 화면 표시를 300×150 CSS 픽셀로 정해 시작합니다. 내부의 각 방향을 두 배로 늘여 보여 주는 설정입니다. 여기서 150×75는 실습을 위해 고른 값입니다. HTML에서 width와 height를 생략했을 때의 기본값은 300×150입니다.

참고 · WHATWG — 캔버스 요소와 내부 비트맵 ↗

02

화면 크기를 늘리면 그림에는 어떤 일이 생기나요?

내부 150×75인 그림을 CSS 300×150으로 표시하면 가로와 세로가 모두 두 배로 확대됩니다. 내부 비트맵의 점 개수는 그대로이며, 브라우저가 화면의 넓어진 공간에 맞추어 그림을 펼쳐 보여 줍니다. 이 과정에서 경계가 흐리거나 계단처럼 두드러져 보일 수 있습니다.

CSS 세로만 100픽셀로 바꾸면 가로는 2배, 세로는 약 1.33배가 됩니다. 두 방향의 확대율이 달라져 내부에 그린 원은 가로로 넓은 타원처럼 보입니다. 가로·세로를 함께 두 배로 바꾼 경우와 세로만 바꾼 경우를 비교하면 크기의 변화와 비율의 변화를 구별할 수 있습니다.

참고 · MDN Web Docs — 캔버스의 크기를 정하는 방법 ↗

03

내부 크기를 바꾸면 그림은 그대로 남나요?

2차원 캔버스의 width나 height를 다시 설정하면 기존 그림이 지워지고 그리기 상태도 초기화됩니다. 선의 색과 굵기, 좌표 변환 등 필요한 설정을 다시 적용한 뒤 그림을 그려야 합니다. 같은 숫자를 다시 대입해도 초기화가 일어나므로 값을 넣는 시점에 주의해야 합니다.

이 활동은 내부 크기를 바꿀 때마다 같은 구성의 도형을 새 크기에 맞추어 다시 그립니다. CSS 표시를 300×150으로 유지하고 내부도 300×150으로 바꿔 보세요. 처음에 있던 작은 비트맵을 늘여 본 경우와 새로 그린 경우의 경계를 비교할 수 있습니다.

참고 · MDN Web Docs — 캔버스 너비를 바꿀 때의 초기화 ↗

04

휴대전화에서도 같은 선명도로 보이나요?

CSS의 1픽셀과 화면 장치의 물리적인 1픽셀은 크기가 다를 수 있습니다. devicePixelRatio는 두 픽셀 크기의 비를 나타내는 값입니다. 예를 들어 이 값이 2인 화면에서 300×150 CSS 픽셀 영역을 선명하게 그리려면 내부를 600×300으로 준비하고 그에 맞춰 다시 그리는 방법을 쓸 수 있습니다.

실제 경계의 모습은 화면의 픽셀 비율과 확대 배율, 브라우저가 그림을 처리하는 방식에 따라 달라집니다. 활동에는 내부 크기와 요청한 CSS 크기, 실제 표시 크기를 함께 나타냅니다. 좁은 화면에서는 그림 영역을 가로로 움직이며 살펴볼 수 있습니다. 수치와 도형의 비율을 함께 읽어 보세요.

참고 · MDN Web Docs — 화면의 픽셀 비율과 캔버스 ↗

직접 확인하기 · 규칙 기반 실행

내부 크기와 표시 크기를 따로 바꾸면 어떻게 되나요?

내부 150×75, CSS 표시 300×150에서 시작합니다. CSS 세로를 100으로 바꿔 모양을 비교하고, 내부를 300×150으로 바꿔 다시 그린 결과도 살펴보세요. 좁은 화면에서는 그림 영역을 가로로 움직일 수 있습니다.

그림의 내부 크기와 표시 크기를 따로 바꿔 볼까요?

내부 150×75픽셀 · CSS 표시 300×150px

실제 표시: 브라우저에서 확인 중 (CSS 픽셀 기준)

가로 확대율 2.00배 · 세로 확대율 2.00배

가로와 세로 확대율이 같아 내부에 그린 원의 비율이 유지됩니다. 그림에는 바둑판 무늬, 원, 대각선이 있습니다.

바둑판 무늬와 원, 대각선을 그린 확대 실험입니다. 크기와 변형은 그림 밖 설명에서도 확인할 수 있습니다.

브라우저에서 그림을 준비합니다. 크기와 확대율은 위 설명으로도 비교할 수 있습니다.

표시 크기가 화면보다 넓으면 그림 영역만 좌우로 움직입니다. CSS만 바꾸면 기존 그림을 늘려 보여 줍니다. 내부 크기를 바꾸면 지워진 캔버스에 바둑판·원·대각선을 다시 그립니다. 화면의 픽셀 밀도와 브라우저의 확대 방식에 따라 선명도가 다르게 보일 수 있습니다.

관계를 읽고, 다른 상황에 적용하기

두 문제로 생각 확인

1내부 150×75인 캔버스를 CSS 300×150으로 표시하면 어떤 일이 생기나요?
2내부 150×75의 원을 CSS 300×100에 표시하면 어떤 모양으로 보이나요?

두 문제의 답을 모두 선택하면 해설을 볼 수 있습니다.

나의 설명으로 마무리

오늘 발견한 관계

저장 위치를 확인하고 있습니다…

출처와 제작 안내

원문을 참고해 설명·도표·문항·실험을 새로 작성했습니다. 별도 표시가 없는 사례와 수치는 학습을 위한 가상 예시입니다. 원문 번역이나 실제 모델의 성능 평가 자료가 아닙니다.

  1. 캔버스 요소와 내부 비트맵 ↗WHATWGHTML Living Standard, 4.12.5 The canvas element

    width·height의 비트맵 크기, 기본값300×150, CSS 표시 크기와 구별 · 2026-10-24 원문 확인. 설명·활동·문항은 자체 제작.

  2. 캔버스의 크기를 정하는 방법 ↗MDN Web Docs<canvas>: The Graphics Canvas element

    HTML 속성과 CSS 표시 크기, 확대에 따른 그림 비율 변화 · 2026-10-24 원문 확인. 설명·활동·문항은 자체 제작.

  3. 캔버스 너비를 바꿀 때의 초기화 ↗MDN Web DocsHTMLCanvasElement: width property

    width 재설정 시 비트맵과 그리기 상태 초기화; 같은 값 재대입도 포함 · 2026-10-24 원문 확인. 설명·활동·문항은 자체 제작.

  4. 화면의 픽셀 비율과 캔버스 ↗MDN Web DocsWindow: devicePixelRatio property

    CSS 픽셀과 물리 픽셀의 비, 내부 비트맵 크기와 좌표 배율 조정 · 2026-10-24 원문 확인. 설명·활동·문항은 자체 제작.