词条 | 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) ; 如果其後用GetWindowExtEx和GetViewportExtEx函式获得了视窗和视埠的范围,可以发现,它们并不是先前指定的值。Windows将根据显示设备的纵横比来调整范围,以便两条轴上的逻辑单位表示相同的实际尺寸。 |
随便看 |
百科全书收录594082条中文百科知识,基本涵盖了大多数领域的百科知识,是一部内容开放、自由的电子版百科全书。