Ограничение размера отображаемого изображения в CView::onDraw()

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

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

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

1 ответ

Решение

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

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

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

Другие вопросы по тегам