设为首页 加入收藏

TOP

五、GDI映像方式—MM_ISOTROPIC映像方式
2012-11-05 12:24:56 】 浏览:488
Tags:GDI 映像 方式 MM_ISOTROPIC
如果想要在使用任意的轴时都保证两个轴上的逻辑单位相同,则MM_ISOTROPIC映像方式就是理想的映像方式。这时,具有相同逻辑宽度和高度的矩形显示为正方形,具有相同逻辑宽度和高度的椭圆显示为圆。
当您刚开始将映像方式设定为MM_ISOTROPIC时,Windows使用与MM_LOMETRIC同样的窗口和视端口范围(但是,不要对此有所依赖)。区别在于,您现在可以呼叫SetWindowExtEx和SetViewportExtEx来根据自己的偏好改变范围了,然后,Windows将调整范围的值,以便两条轴上的逻辑单位有相同的实际距离。
一般说来,您可以用所期望的逻辑窗口的逻辑尺寸作为SetWindowExtEx的参数,用显示区域的实际宽和高作为SetViewportExtEx的参数。Windows在调整这些范围时,必须让逻辑窗口适应实际窗口,这就有可能导致显示区域的一段落到了逻辑窗口的外面。必须在呼叫SetViewportExtEx之前呼叫SetWindowExtEx,以便最有效地使用显示区域中的空间。
例如,假设您想要一个「传统的」单象限虚拟坐标系,其中(0,0)在显示区域的左下角,宽度和高度的范围都是从0到32,767,并且希望x和y轴的单位具有同样的实际尺寸。以下就是所需的程序:
SetMapMode (hdc, MM_ISOTROPIC) ;        SetWindowExtEx (hdc, 32767, 32767, NULL) ;        SetViewportExtEx (hdc, cxClient, -cyClient, NULL) ;        SetViewportOrgEx (hdc, 0, cyClient, NULL) ;        
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
上一篇五、GDI映像方式—MM_ANISOTROPIC.. 下一篇五、GDI映像方式—「自行决定」的..

最新文章

热门文章

Hot 文章

Python

C 语言

C++基础

大数据基础

linux编程基础

C/C++面试题目