Ограничение размера отображаемого изображения в CView::onDraw()
В приложении MFC SDI, содержащем один CView
Я передаю контекст устройства вывода pDC->m_hDC
в картографическую библиотеку для рендеринга карты в пределах CMyView::OnDraw()
метод.
Я хотел бы, чтобы визуализированное изображение появлялось в центре cview, окруженного черным фоном, то есть размер изображения был бы меньше, чем CView
размер прямоугольника клиента. Я экспериментировал с CDC::SetViewportOrg()
и установите размер устройства в библиотеке отображений, однако, к сожалению, библиотека отображений выходит за пределы установленного размера устройства.
Каков наилучший способ ограничения изображения до желаемого размера? Должен ли я смотреть на функции отсечения? Или я должен вручную нарисовать нежелательные части изображения.
1 ответ
Ну, вы можете сделать это 2 способами.
1) Вы могли бы SetBoundsRect к границам, которые вы хотите.
2) Вы можете просто добавить нужную часть изображения в DC.
Метод 2 будет моим предпочтительным методом, так как нет никакой дополнительной логики. Это только когда-либо даже пытается нарисовать ту часть, которую вы бьете:)