[MFC 비주얼프로그래밍-14] 이미치 처리 프로그래밍
- 최초 등록일
- 2009.03.29
- 최종 저작일
- 2008.01
- 21페이지/ MS 파워포인트
- 가격 2,000원
소개글
MFC 의 기초부터 고급기능까지
체계적으로 정리 요약되어 있습니다.
발표자료로도 좋으며 개인 공부시에도 많은 도움이 됩니다.
목차
1. 이미지 처리 프로그래밍
래스터(Raster) 장치의 기본 구조
이미지의 비트 수
컬러 모델 (Color Model)
BMP 파일
BMP 이미지 클래스 만들기
JPEG (Joint Photographic Expert Group) 파일
JPEG 클래스 만들기
GIF (Graphics Interchange Format) 파일
GIF 파일 클래스
본문내용
BMP 이미지 클래스 만들기
BMP 파일 로드 함수 LoadBmp
BOOL CBMPImage::LoadBmp(LPCSTR filename);
m_strFileName에 설정된 파일 오픈
HANDLE fd = CreateFile(m_strFileName,GENERIC_READ,0,NULL,OPEN_EXISTING,
FILE_ATTRIBUTE_NORMAL,NULL);
BITMAPFILEHEADER 설정
ReadFile(fd,(LPSTR)&bmpHeader,sizeof(bmpHeader),&len,NULL);
bfType의 값이 “BM”확인 후에 나머지 정보를 읽는다.
ReadFile(fd, tDib, size, &len, NULL);
tDib에서 BITMAPINFO를 추출한다.
pBitmapInfo = (LPBITMAPINFO)tDib; // RGBQUAD 팔레트 데이터도 같이 저장
실제 그림 데이터 추출
m_pDib = (tDib + *(LPDWORD)tDib + 팔레트 크기)); // 구조체와 팔레트 다음부터 데이터
팔레트 만들기
256 이나 16컬러 비트맵 그림은 팔레트가 필요하다.
256 이나 16컬러는 트루컬러에서 필요한 색만 추출하여 사용한다.
이 때, 어떤 팔레트를 사용하였는가를 설정하기 위한 팔레트 정보를 그림 파일 안에 저장해야 한다.
팔레트는 BITMAPINFO 구조체의 RGBQUAD 구조체에 설정되어 있다.
이 팔레트 정보를 LOGPALETTE 구조체 변수에 저장하고 다시 CPalette 클래스 변수로 팔레트 클래스를 만들어야 한다.
참고 자료
없음