본문 바로가기

BMP PNG 변환

BMP는 모든 픽셀을 날것 그대로 저장하고, PNG는 같은 픽셀을 훨씬 작은 용량에 무손실로 저장합니다. 같은 이미지, 현대적인 형식, 아무것도 저장하지 않습니다.

  • 저장되지 않음
  • 대기열 없음, 기다림 없음
  • 회원가입 없음, 워터마크 없음

사용 방법

1

BMP 파일 추가

.bmp 파일을 개수 제한 없이 페이지에 끌어다 놓습니다.

2

변환

각 파일이 무손실 압축 PNG가 됩니다. 픽셀은 똑같고 파일은 훨씬 작아집니다.

3

다운로드

하나씩 저장하거나 ZIP으로 받습니다.

같은 픽셀, 훨씬 작은 용량

BMP는 대개 전혀 압축되지 않습니다. 모든 픽셀이 한 개당 3~4바이트씩 있는 그대로 기록되고, 각 행은 4바이트 경계에 맞춰 채워집니다. 그래서 1920×1080 스크린샷이 약 8 MB, 1,200만 화소 사진이 36 MB 가까이 됩니다. PNG는 똑같은 픽셀을 무손실로 압축해 저장하므로 이미지는 전혀 바뀌지 않고 파일은 보통 5~20배 작아집니다. 평평한 영역이 넓은 스크린샷이나 도표라면 이 범위의 높은 쪽에 해당합니다. 아무것도 잃지 않는 드문 변환입니다.

결과물에서 한 가지 확인할 점이 있습니다. 32비트 BMP의 투명도는 믿을 수 없으며, 여기서 하는 처리 때문이 아닙니다. 초기 Windows 비트맵 헤더에는 알파 채널이라는 개념이 없어서 각 픽셀의 네 번째 바이트는 그냥 쓰이지 않았습니다. 이후의 헤더가 이를 제대로 정의했지만, 여전히 많은 소프트웨어가 옛 형식으로 기록하고 많은 디코더가 새 형식을 무시합니다. 그래서 만든 프로그램에서는 투명해 보이던 BMP가 알파 바이트를 채움 값으로 읽어 불투명하게 디코딩될 수 있습니다. 중요하다면 PNG를 사용하기 전에 확인해 보세요.

또 하나의 특이점은 행의 순서입니다. BMP는 관례적으로 행을 아래에서 위로 저장하는데, 초기 그래픽 하드웨어가 메모리를 다루던 방식에서 물려받은 결정이며, 위에서 아래로 저장한 파일은 높이를 음수로 표시합니다. 디코더가 둘 다 처리하므로 실제로는 보이지 않습니다. 반쯤 기록되거나 잘린 BMP가 잘린 모양이 아니라 뒤집혀 보이는 이유가 이것일 뿐입니다.

일반적인 Windows 변형은 모두 변환됩니다. 4비트·8비트 RLE 압축 비트맵, 90년대 초의 OS/2 헤더, 드문 JPEG 내장 형식 같은 특이한 변형은 디코더에 따라 다르며, 그중 하나가 거부되면 뒤섞인 이미지를 내놓는 대신 그렇다고 알려 줍니다.

다른 작업이 필요할 때

PNG를 더 줄이려면 oxipng -o 4 out.png나 optipng가 픽셀 하나 바꾸지 않고 10~30%를 더 줄여 주는 경우가 많습니다. pngquant는 팔레트로 줄여서 훨씬 더 줄이는데, 이는 손실 압축이지만 스크린샷이나 도표에서는 대개 눈에 띄지 않습니다.

폴더 전체라면 ImageMagick의 magick mogrify -format png *.bmp가 한 줄로 모두 변환하고, 아주 큰 이미지는 libvips가 훨씬 적은 메모리로 같은 일을 합니다. BMP가 그래픽이 아니라 사진이라면 PNG는 애초에 맞지 않는 형식입니다. JPG가 누구도 알아볼 수 없는 화질 차이로 10분의 1 용량이 됩니다.

자주 묻는 질문

화질이 떨어지나요?

전혀요. PNG는 무손실입니다. PNG를 디코딩하면 BMP가 담고 있던 픽셀과 정확히 같으며, 낭비되던 바이트만 사라집니다.

얼마나 작아지나요?

내용에 따라 보통 50~95% 작아집니다. BMP는 사실상 압축이 없어서 거의 무엇으로 바꿔도 작아집니다.

요즘에도 BMP 파일은 어디서 나오나요?

오래된 도구로 찍은 Windows 스크린샷, 그림판, 과학 장비, 임베디드 시스템, 레거시 소프트웨어에서 나옵니다. 이 형식은 Windows 3.0 시절부터 쓰였습니다.

제 파일이 어딘가에 저장되나요?

아니요. 변환 과정에서 아무것도 저장하지 않습니다.

PNG가 BMP의 모든 것을 담을 수 있나요?

네, 그 이상도 담습니다. PNG에는 BMP가 사실상 담지 못했던 진짜 투명도가 있습니다.

참고: 특수한 BMP 변형(RLE 압축, OS/2 헤더)은 브라우저의 디코더에 따라 다릅니다. 일반적인 Windows BMP는 모두 변환됩니다.

내 웹사이트에 이 도구 넣기

블로그, 수업 페이지, 도움말 글 어디에나 무료로 넣을 수 있습니다. 코드 한 줄만 붙여 넣으면 방문자가 페이지에서 바로 사용할 수 있습니다.