Mfc 限制CView::onDraw()中的渲染图像大小

Mfc 限制CView::onDraw()中的渲染图像大小,mfc,drawing,cview,Mfc,Drawing,Cview,在包含单个CView的MFC SDI应用程序中,我将输出设备上下文pDC->m_hDC传递到映射库,以在CMyView::OnDraw()方法中呈现映射 我希望渲染图像出现在cview的中心,周围有黑色背景,即图像大小将小于cviewclient rect大小。我已经尝试了CDC::SetViewportOrg(),并在映射库中设置了设备大小,但不幸的是,映射库超出了设备大小集 将图像限制在所需大小的最佳方法是什么?我应该看看剪辑函数吗?或者我必须手动绘制图像中不需要的部分。好的,你可以用两种方

在包含单个
CView
的MFC SDI应用程序中,我将输出设备上下文
pDC->m_hDC
传递到映射库,以在
CMyView::OnDraw()方法中呈现映射

我希望渲染图像出现在cview的中心,周围有黑色背景,即图像大小将小于
cview
client rect大小。我已经尝试了
CDC::SetViewportOrg()
,并在映射库中设置了设备大小,但不幸的是,映射库超出了设备大小集


将图像限制在所需大小的最佳方法是什么?我应该看看剪辑函数吗?或者我必须手动绘制图像中不需要的部分。

好的,你可以用两种方法

1) 您可以将边界设置为您想要的边界。
2) 你只需将你想要的图像的部分插入到DC中


方法2将是我的首选方法,因为没有额外的逻辑。它甚至只尝试画出你正在播放的部分:)

非常感谢。最后,我的解决方案是减小SDI视图的大小(我知道这与我的要求不完全一样)。这一页很有用: