Windows 비트맵 (.bmp)

Microsoft 표준

비트맵 이미지 파일(BMP)은 마이크로소프트의 기본적인 장치 독립형 래스터 그래픽 포맷으로, 직접적인 하드웨어 프레임버퍼 호환성을 갖추고 비압축 또는 RLE 압축된 스캔라인을 저장합니다.

BMP을(를) PNG(으)로 변환

무료 브라우저 내 BMP-PNG 변환기. 기기에서 파일을 즉시 변환하세요.

검사 및 메타데이터

운영 체제와 파일 분석기는 파일 선두의 바이너리 바이트 시퀀스를 검사하여 BMP 파일을 식별합니다:

여기에 파일을 선택하거나 놓으세요

100% 브라우저 내 프라이버시 변환 - 파일이 기기를 절대 떠나지 않습니다

또는 붙여넣기 Ctrl+V
제로 네트워크 전송 프라이버시 보장: 외부 서버로 업로드된 데이터 0바이트. 모든 처리는 브라우저 샌드박스내에서 로컬로 수행되었습니다.

바이트 단위 헤더 시그니처 (매직 바이트)

운영 체제와 파일 분석기는 파일 선두의 바이너리 바이트 시퀀스를 검사하여 BMP 파일을 식별합니다:

16진수 시그니처 (오프셋 0):

42 4D

ASCII 표현: BM

표준화: Microsoft Windows Device-Independent Bitmap (DIB) Architecture

기술 사양

컨테이너 아키텍처BITMAPFILEHEADER followed by BITMAPINFOHEADER (DIB) and raster pixel array
압축Uncompressed raw scanlines, or optional BI_RLE8 / BI_RLE4 run-length encoding
바이트 엔디안Little-Endian (Intel x86 byte order)
색 공간Device Dependent RGB, sRGB (BITMAPV5HEADER embedded)
채널 및 구조1-bit monochrome, 4-bit / 8-bit paletted, 16-bit, 24-bit RGB, or 32-bit RGBA
최대 크기2,147,483,647 x 2,147,483,647 pixels (signed 32-bit integer)
투명도32-bit BGRA alpha mask supported in modern BITMAPV3HEADER and V5HEADER formats
스트리밍 및 프로그레시브Non-streamable; scanlines stored upside-down (bottom-up) unless height is negative

기술 비교 매트릭스: BMP 대 경쟁사

기술적 속성BMP (현재)PNGTIFFJPG
압축 모드비압축 / 최소 RLE무손실 Deflate (~70% 더 작음)비압축 / LZW / Zip손실 DCT (~90% 더 작음)
디코딩 속도즉각적인 메모리 복사Deflate 압축 해제 필요LZW/ZIP 압축 해제 필요IDCT 계산 필요
스캔라인 정렬아래에서 위로 (반전됨)위에서 아래로위에서 아래로 / 스트립위에서 아래로 MCU 블록
웹 적합성매우 나쁨 (용량이 큼)그래픽용으로 우수함나쁨 (탁상 출판)사진용으로 우수함

일반적인 손상 모드 및 헥스 복구 가이드

이미지가 대각선으로 찌그러지거나 비스듬하게 왜곡되어 렌더링됩니다.

근본 원인: 잘못된 행 패딩 계산 (각 스캔라인을 4바이트 경계로 패딩하지 못한 경우).

복구: File2File Image Converter를 사용하여 다시 인코딩하여 올바른 32비트 스캔라인 스트라이드를 적용하세요.

보안 분석 및 파서 공격 벡터

BMP 디코더는 신뢰할 수 없는 DIB 헤더 크기를 기반으로 버퍼를 할당할 때 종종 버퍼 오버리드를 겪습니다.

알려진 공격 벡터

  • 너비 * 높이 * bpp 계산 시 정수 오버플로우로 인한 작은 힙 할당 및 범위를 벗어난 쓰기.
  • 할당된 버퍼를 넘어선 메모리 쓰기를 유발하는 손상된 RLE8/RLE4 런레인지 이스케이프 시퀀스.
  • 조작된 헤더 크기로 인해 트리거되는 멀티기가바이트 메모리 할당을 통한 서비스 거부(DoS).

방어적 모범 사례:

역사적 배경 및 주요 이력

1998Windows 98에서 BITMAPV5HEADER를 도입하여 ICC 색상 프로필 관리 및 감마 보정 추가.
1990Windows 3.0이 운영 체제 전반에서 BITMAPINFOHEADER DIB 사양을 표준화함.
1987네이티브 디스플레이 래스터 포맷으로 Windows 2.0 및 OS/2 1.1과 함께 도입됨.

주요 장점

  • 압축 손실 없음: 압축 아티팩트가 전혀 없는 100% 비트 정확도의 픽셀 저장.
  • Windows, Linux, macOS의 모든 버전에서 보편적인 네이티브 운영 체제 지원.
  • 간단한 디코딩 복잡도로 인해 임베디드 마이크로컨트롤러 및 그래픽 프로그래밍 교육에 이상적임.

기술적 제한 사항 및 단점

  • DEFLATE나 허프만 코딩 같은 현대적인 엔트로피 압축이 없어 발생하는 엄청난 파일 크기.
  • 웹 전송이나 모바일 네트워크 배포에 비효율적임.
  • 상향식 스캔라인 정렬로 인해 현대의 하향식 그래픽 파이프라인에서 수직 행 반전이 필요함.

흥미로운 기술적 상식

  • BMP는 OS/2에서 사용되는 수학적 데카르트 좌표계 때문에 기본적으로 이미지 스캔라인을 거꾸로(아래에서 위로) 저장합니다.
  • BMP 헤더의 높이 값이 음수로 설정되면 이미지가 위에서 아래로 올바르게 디코딩됩니다.
  • BMP 파일의 모든 스캔라인은 4바이트의 배수(32비트 경계 정렬)가 되도록 0으로 패딩되어야 합니다.

자주 묻는 기술 질문

BMP 파일이 매우 큰 이유는 무엇인가요?

BMP 파일은 모든 개별 픽셀에 대한 원시 비압축 색상 값을 저장하는 반면, PNG와 같은 포맷은 품질 손실 없이 해당 데이터를 압축하기 때문입니다.

BMP도 투명도를 지원할 수 있나요?

네. 32비트 BMP 파일(BITMAPV3HEADER 이상 사용)은 8비트 알파 채널을 저장할 수 있지만, 구형 소프트웨어에서는 지원 여부가 다를 수 있습니다.

BMP 파일의 용량을 줄이려면 어떻게 해야 하나요?

File2File.app을 사용하여 BMP 파일을 PNG로 변환하면 시각적 품질 손실 없이 파일 크기를 일반적으로 60%에서 85%까지 줄일 수 있습니다.