이미지가 컴퓨터에 저장될 때에도 디지털 데이터화 되어 저장된다.
가장 기본적인 방법으로는
그림을 구성하는 한 점(pixel, 픽셀)의 색상을 나타내기 위해 빨강(r), 녹색(g), 파랑(b) 의 3가지의 정도값을 이용한다.
예를 들어 r, g, b 각 각 8비트(0~255 가지 가능)를 사용한다고 하면,
한 점의 색상은 3가지 r, g, b의 8비트+8비트+8비트로 총 24비트로 표현하고 총 2^24 가지의 물감(색)을 사용할 수 있는 것이다.
한편, 그러한 점이 매우 많이 모여 하나의 큰 이미지를 저장하게 되는데,
가로로 1024 개, 세로로 768개의 점들을 사용할 수 있다.
이렇게,
1024 * 768 사이즈에 각 점에 대해 24비트로 저장하면 그 이미지를 저장하기 위한 저장 용량을 계산할 수 있다.
이렇게 압축하지 않고 이미지의 원래(raw) 데이터를 그대로 저장하는 대표적인 이미지 파일이 *.bmp 파일이며
비트로 그림을 구성한다고 하여 비트맵 방식 또는 래스터 방식이라고 한다.
이미지의 가로 해상도 w, 세로 해상도 h, 한 픽셀을 저장하기 위한 비트(b) 주어질 때,
압축하지 않고 저장하기 위한 저장 용량을 계산하는 프로그램을 작성해 보자.
예를 들어
일반적인 1024 * 768 사이즈(해상도)의 각점에 대해 24비트(rgb 각각 8비트씩 3개)로 저장하려면
1024 * 768 * 24 bit의 저장공간이 필요하다.
실제 그런지 확인하려면, 간단한 그림 편집 수정 프로그램을 이용해 저장해 보면 된다.
**
8bit(비트) = 1byte(바이트) // 8bit=1Byte
1024Byte(2^10 byte) = 1KB(킬로 바이트)
1024KB(2^10 KB) = 1MB(메가 바이트)
1024MB(2^10 MB) = 1TB((테라 바이트)