MFC VC ++放大缩小CDC对象,即使用Cscrollview支持的画布上的Crect和Lines

时间:2016-04-05 12:06:08

标签: windows visual-c++ graphics mfc zooming

我正在尝试在VC ++ MFC框架中实现放大缩小功能。对于CDC,Graphics和CscrollView概念中的这个问题我是新手。

默认ZoomLevel为100%,并且按比例缩小20%(60,80, 100 ,120,140,​​160)。

因为我必须放大CRect(即一些矩形块)以及连接到该Rectangle的一些线。

目前可以使用Cscrollview进行缩放并使用滚动条支持,但我们可以放大某个级别。 120%我正在扩大画布尺寸 画布默认页面大小垂直和水平都是5000。 现在我们缩放@ 120%(画布尺寸* 120),即6000。

无论如何,在缩放块和内部图像之后,所有缩放级别都会正确扩展。但主要的问题是Connecter With那个矩形块 没有完全连接到中心它显示出一些差距。

为此,我附上了一张图像,显示了Block和Connector行之间的间隙。

缩放前@默认级别,即看起来正确连接的100%: BEFORE

执行zoomin后,即@ 120%线未正确连接到块: AFTER

正如你所看到的那样,在缩放矩形和线条对象之前和之后显示出一些差距。这需要在进行zoomin / out之后修复。

请让我知道,什么是最佳做法或如何扩展/缩放画布及其上的所有对象?

如果我们扩展或缩放视图/画布位图对象的所有对象(画布上的CREct + Lines +图像等也相应调整?)有什么办法吗?

我对zoomin / zoomout的要求类似于windows打印预览对话框,在不同级别(100,125,150,200等)提供 DefaultView Zoomin和Zoomout 选项。

或者,如果您有任何与此相关的项目参考代码,请分享它对我来说将是非常大的帮助。

0 个答案:

没有答案