비트맵을 raw파일로 저장하면 크기가 똑같네요..
안녕하세요..
비트맵 파일 불러와서
이미지 부분만 raw파일로 저장하고 보면
원본 비트맵 파일이랑 용량이 똑같네요
원래 헤더정보같은게 없으니까 용량이 더 적어야 정상 아닌가요??
왜 그런지 하루종일 해봐도 모르겠네요..
FILE *in;
in = fopen(file, "rb");
BITMAPFILEHEADER bitmapFileHeader;
BITMAPINFOHEADER bitmapInfoHeader;
// 파일 헤더 및 인포헤더 읽기
fread(&bitmapFileHeader, sizeof(BITMAPFILEHEADER), 1, in);
fread(&bitmapInfoHeader, sizeof(BITMAPINFOHEADER), 1, in);
fseek(in, bitmapFileHeader.bfOffBits, SEEK_SET);
// 실제 이미지 데이터를 읽기
BYTE *bitmapImage;
bitmapImage = (BYTE*)malloc(bitmapInfoHeader.biSizeImage);
fread(bitmapImage, sizeof(char), bitmapInfoHeader.biSizeImage, in);
unsigned char tempRGB;
for (int imageIdx = 0; imageIdx < bitmapInfoHeader.biSizeImage; imageIdx += 3)
{
tempRGB = bitmapImage[imageIdx];
bitmapImage[imageIdx] = bitmapImage[imageIdx + 2];
bitmapImage[imageIdx + 2] = tempRGB;
}
fclose(in);
free(bitmapImage);
// 읽어온 데이터 파일에 쓰기
FILE *out;
out = fopen("result4.raw", "wb");
fwrite(bitmapImage, sizeof(char), bitmapInfoHeader.biSizeImage, out);
fclose(out);
똑같다는 건 두 파일의 바이트수를 비교해보니까
똑같다는 건 두 파일의 바이트수를 비교해보니까 똑같다는 건가요?
혹시 탐색기 등의 파일 매니저 목록에 뜨는 MB만 보고 똑같다고 판단하신건 아니신가요?
네
파일 탐색기에서 마우스 우클릭해서 용량 보면
똑같이 나오네요 ㅜㅜ
원래 똑같이 나오나요?
왜 똑같이 나오는건지.. ㅜㅜ 검색해도 모르겠네요
댓글 달기