Ограничение размера отображаемого изображения в CView :: onDraw () - PullRequest
0 голосов
/ 11 мая 2010

В приложении MFC SDI, содержащем один CView, я передаю контекст устройства вывода pDC->m_hDC в библиотеку отображений, чтобы отобразить карту в методе CMyView::OnDraw().

Хотелось бы, чтобы отображаемое изображение появлялось в центре cview, окруженного черным фоном, то есть размер изображения был бы меньше, чем * * прямоугольный размер * клиента. Я экспериментировал с CDC::SetViewportOrg() и установил размер устройства в библиотеке отображений, однако, к сожалению, библиотека отображений выходит за пределы установленного размера устройства.

Как лучше всего ограничить изображение нужным размером? Должен ли я смотреть на функции отсечения? Или мне нужно вручную нарисовать нежелательные части изображения.

1 Ответ

1 голос
/ 11 мая 2010

Ну, вы можете сделать это 2 способами.

1) Вы можете установить SetBoundsRect на нужные вам границы.
2) Вы можете просто добавить нужную часть изображения в DC.

Метод 2 будет моим предпочтительным методом, так как здесь нет никакой дополнительной логики. Он только пытается нарисовать ту часть, которую вы бьете:)

...