제가 LPDIRECTDRAW7을 이용하여 16bit 비트맵 그림을 화면에 뿌려주는 테스트를 하고 있습니다. 그런데 머가 문제인지 화면에 그림이 출력이 되긴 하는데 그림이 깨끗하게 나오지가 않습니다. 실제로는 무쟈게 선명한 그림인데 말이죠.. 마땅히 검색해볼데도 없고 질문할 곳도 없어서 여기에 이렇게 질문을 드립니다.. 좀 도와주시면 좋겠습니다. 제가 한 방법은 다음과 같습니다.

1. LPDIRECTDRAW7 객체를 생성해서 협력모드를 풀스크린으로 만든 다음 디스플레이모드를 800, 600, 16 으로 설정한다.

2. 기본표면을 백버퍼사용, 플리핑사용 등의 설정으로 생성한다.

3. 보조표면(백버퍼)을 생성 후 기본표면에 연결한다.

4. 16bit 이기 때문에 팔레트를 생성하지 않는다.

5. 비트맵 파일을 메모리에 로드한다.

6. 오프스크린 표면을 생성하여 메모리에 로드한 비트맵 파일을 메모리카피한다.

7. 오프스크린 표면을 보조표면에 블리팅한다.

8. 기본표면을 플리핑한다.

위에는 간략하게 흐름만 적어놨지만 실제 내용은 책에 있는 그대로 썻고 예제로 나와있는거 그대로 ctrl+c 한 후 ctrl+v 했기 때문에 코딩상의 문제는 없다고 판단됩니다만 솔직히 잘 모르겠습니다..

사용한 비트맵 파일은 링크를 걸어두겠습니다.. 여기->비트맵 파일 링크

그리고 실행시 출력되는 화면을 캡쳐한 화면을 다시 그림파일로 만들었습니다.. 여기->실행 후 파일 링크

위의 파일은 16bit 파일입니다만 링크 걸린 것을 그림파일 저장으로 하니 32bit로 바뀌네요;;

제가 참고한 소스도 링크를 걸어두겠습니다.. 여기->cpp 파일

여기->헤더 파일



답변 부탁드리겠습니다. 읽어주셔서 감사합니다

ps. 댓글에서 말한 zip 파일.. 링크->BitmapTest16.zip 파일