UNIT. 81.3 질문입니다.
, 박 태훈님이 작성패딩 사이즈 구하는 식
padding = (PIXEL_ALIGN - ((width * PIXEL_SIZE) % PIXEL_ALIGN)) % PIXEL_ALIGN;
이후에 바로 밑부분에
비트맵 파일 중에 픽셀 데이터의 크기 size가 0인 경우가 있다고
돼 있는데 사이즈가 0이 될수가 있나요? 0인 경우는 어떤 경우인가요?
Re: UNIT. 81.3 질문입니다.
, 도장_ 관리자님이 작성비트맵은 DIB 헤더로 이미지 정보를 저장합니다. 그림 정보가 아니라 파일에 대한 정보입니다.
비트맵 파일 구조는 위키피디아에서 볼 수 있습니다.
좀 더 상세한 구조와 설명은 영문 위키피디아에서 볼 수 있습니다.
https://en.wikipedia.org/wiki/BMP_file_format
BI_RGB 비트맵일 때는 이 값이 0일 수 있습니다.
이미지 사이즈라고 되어 있는데, 오프셋(offset)이 34입니다. 바로 위 오프셋 30은 이미지 압축 방식을 지정합니다. biCompression 필드가 BI_RGB 압축 여부를 나타내고, 압축을 사용하는 BMP 이미지이면, 그 아래 오프셋 34에 저장된 biSizeImage 값은 0이 됩니다.
압축 이미지와 비압축 이미지일 때 비트맵 이미지를 처리하는 방식이 다르기 때문에 그렇습니다.
특정 파일 포맷을 이해하고 읽어들이려면 시간이 오래 걸립니다.
이 책의 예제는 가장 많이 사용하는 BMP 이미지를 읽어보는 것으로 실무에서의 코딩 감각을 익혀보게 하는 데 목적이 있습니다. BMP 파일 포맷에 대해 상세히 설명하지 않은 점이 있는데, 이점은 양해 부탁드립니다.