이미지 크기 조절 도구 안내
이 도구는 이미지 파일을 읽어 지정한 크기로 HTML 캔버스에 그린 뒤, 설정한 품질로 JPEG·PNG·WebP로 다시 인코딩합니다. 이 과정은 모두 캔버스 API를 이용해 브라우저 안에서만 이뤄지며 원본 파일은 서버로 전송되지 않습니다.
가로세로 비율 고정을 켜두면 너비나 높이 중 하나를 바꿀 때 비율이 유지되어 이미지가 늘어나거나 찌그러지지 않습니다. 품질 슬라이더는 JPEG·WebP 출력에만 영향을 주며, PNG는 항상 무손실이라 품질 값이 PNG 파일 크기에는 영향을 주지 않습니다.
브라우저에서 이미지 크기를 조절하는 원리
이 도구는 이미지를 지정한 너비·높이로 HTML5 캔버스 요소에 그린 뒤, canvas.toDataURL()로 캔버스 내용을 새 인코딩 이미지 파일로 읽어냅니다. 예: 3000x2000px 사진을 50% 배율로 설정하면 1500x1000px로 다시 그려진 뒤 선택한 품질로 JPEG로 재인코딩되며, 이 모든 과정이 브라우저를 벗어나지 않습니다.
이미지 리사이즈·압축 단계
- 드롭 영역에 이미지를 끌어다 놓거나 클릭해 기기에서 파일을 선택합니다.
- 정확한 너비·높이를 지정하려면 픽셀 모드를, 원본 대비 비율로 조절하려면 퍼센트 모드를 선택합니다.
- 이미지가 늘어나지 않게 하려면 가로세로 비율 고정을 켜두고, 너비·높이를 따로 설정하려면 끕니다.
- 출력 형식(JPEG·PNG·WebP)을 고르고, JPEG·WebP는 품질 슬라이더로 파일 크기와 화질 사이 균형을 조절합니다.
- 리사이즈를 누르면 새 이미지가 생성되어 미리보기로 확인하고 브라우저에서 바로 다운로드할 수 있습니다.
픽셀·퍼센트 배율 관계
새 너비(px) = 원본 너비 × (배율% ÷ 100) · 새 높이(px) = 원본 높이 × (배율% ÷ 100)
- 가로세로 비율 = 원본 너비 ÷ 원본 높이. 비율 고정을 켜면 이 값이 그대로 유지됩니다
- 품질(JPEG·WebP) = 파일 크기와 화질의 균형을 맞추는 0~100 설정. PNG는 항상 무손실이라 이 값의 영향을 받지 않습니다
리사이즈 결과 예시
| 원본 크기 | 설정 | 결과 |
|---|
| 3000 x 2000 px | 50% | 1500 x 1000 px |
| 1920 x 1080 px | 너비 800px (비율 고정) | 800 x 450 px |
| 4000 x 3000 px | 25% | 1000 x 750 px |
| 1200 x 1200 px | 너비 300px (비율 고정) | 300 x 300 px |
자주 묻는 질문
제 이미지가 정말로 어디에도 업로드되지 않나요?
맞습니다. 리사이즈·압축 전체 과정은 브라우저에 내장된 캔버스 API로만 이뤄집니다. 파일을 로컬에서 읽어 메모리상의 캔버스에 그리고 다시 인코딩하는 과정에서 네트워크 요청이 전혀 발생하지 않습니다. 페이지 로드 후 인터넷 연결을 끊어도 도구가 계속 동작하는 것으로 직접 확인할 수 있습니다.
품질을 낮춰도 PNG 용량이 왜 크게 줄지 않나요?
품질 슬라이더는 세부 정보를 줄여 파일 크기를 줄이는 손실 압축 방식인 JPEG·WebP에만 적용됩니다. PNG는 모든 픽셀을 그대로 보존하는 무손실 압축이라 파일 크기가 품질 설정이 아니라 이미지의 복잡도에 좌우됩니다.
리사이즈한 이미지가 왜 흐릿하거나 깨져 보이나요?
원본 해상도보다 크게 확대하면 브라우저가 보간법으로 새로운 픽셀 정보를 만들어내야 해 세부 표현이 흐려집니다. 축소는 대체로 안전하지만 100%를 크게 넘는 확대는 선명도를 떨어뜨리는 경우가 많습니다.
픽셀 단위와 퍼센트 단위 리사이즈는 무엇이 다른가요?
픽셀 모드는 폼이나 웹사이트에서 요구하는 특정 크기처럼 정확한 출력 크기를 지정할 때 유용하고, 퍼센트 모드는 정확한 수치를 계산하지 않고 원본보다 작거나 큰 버전만 필요할 때 원본 비율대로 조절하기에 유용합니다.
기기 성능에 따라 매우 큰 원본 이미지는 처리가 느리거나 브라우저 메모리 한계에 부딪힐 수 있고, WebP 출력 품질과 호환성은 브라우저마다 약간 다를 수 있으며, 원본 이미지가 담고 있지 않은 세부 정보는 확대 배율을 아무리 높여도 새로 생기지 않습니다.