2010-05-11 4 views
0

단일 CView을 포함하는 MFC SDI 응용 프로그램에서 출력 장치 컨텍스트 pDC->m_hDC을 매핑 라이브러리에 전달하여 CMyView::OnDraw() 메서드 내에서 맵을 렌더링합니다.CView :: onDraw()에서 렌더링 된 이미지 크기 제한

검은 색 배경으로 둘러싸인 cview의 중앙에 렌더링 된 이미지를 표시하고 싶습니다. 즉, 이미지 크기가 CView 클라이언트 rect 크기보다 작을 것입니다. 나는 CDC::SetViewportOrg()을 실험 해 보았지만 매핑 라이브러리에서 장치 크기를 설정했지만, 불행하게도 매핑 라이브러리는 장치 크기 집합 외부에서 그려집니다.

이미지를 원하는 크기로 제한하는 가장 좋은 방법은 무엇입니까? 클리핑 함수를 볼까요? 또는 이미지의 원하지 않는 부분을 수동으로 그려야합니다.

답변

1

글쎄 2 가지 방법으로 할 수 있습니다.

1) SetBoundsRect를 원하는 경계로 설정할 수 있습니다.
2) 원하는 이미지의 부분을 DC로 blt 할 수 있습니다.

추가 논리가 없기 때문에 방법 2를 선호합니다. 그것은 단지 심지어 당신이 blitting하는 부분을 그려하려고 시도합니다 :)

+0

많은 감사. 결국, 내 솔루션은 SDI보기의 크기를 줄이는 것이 었습니다. 이 페이지는 유용했습니다 : http://www.codeproject.com/KB/docview/SmallerSDIView.aspx – Ham