directX 비트맵은 3개 계층으로 되어 있음 파일 헤더 / 인포 헤더 / 픽셀이 이루어져있음.

그래서 우리는 만약 비트맵을 파싱할 의도가 있다면 파일 헤더와 인포 헤더를 건너뛰어야 한다.

커서를 건너 뛰는 형식 파일 헤더를 읽어라 (커서 인포헤더 첨) 인포 헤더를 읽어라 (픽셀 첨)

HANDLE m_hFile = CreateFile();
 
BITMAPFILEHEADER m_fH;
BITMAPINFOHEADER m_iH;
 
ReadFile(m_hFile,&m_fH, sizeof(BITMAPFILEHEADER), &dwByte,NULL);
ReadFile(m_hFile,&m_iH, sizeof(BITMAPFILEHEADER), &dwByte,NULL);
 
m_iH.biWidth; //인포 헤더에서 포함하는 정보
m_ih.biHeight;
 
//...그 후 _ulong(or DWORD) pixel 배열 만큼 읽어들이기

font

폰트 또한 출력의 대상물이기 때문에 디바이스의 통제 하에 가능하다. 폰트를 관리하는 컴객체를 가져오는데, 이 때는 글자를 텍스쳐화 하게 된다.

그렇기에 우선은 2D 텍스쳐 객체를 만들어야 함. 폰트 출력을 위한 싱글톤을 만듦 (폰트 매니저)

폰트 객체와 스프라이트 객체 두가지를 디바이스 통해서 생성. 시스템 폰트 사용 가능 가상 폰트 사용 불가


다이렉트 인풋 라이브러리 사용해보자

속성 -> 링커 -> 입력 -> 추가 종속성 ->dinput8.lib 버전과 인풋 추가 필요.