设为首页 加入收藏

TOP

图形基础(六十三)
2010-12-30 21:10:52 来源: 作者: 【 】 浏览:40191
Tags:图形 基础
样的实际尺寸。MM_ANISOTROPIC映射方式是「非局限性」的,您可以改变视窗和视埠范围,但是Windows不调整这些值。

MM_ISOTROPIC映射方式
 

如果想要在使用任意的轴时都保证两个轴上的逻辑单位相同,则MM_ISOTROPIC映射方式就是理想的映射方式。这时,具有相同逻辑宽度和高度的矩形显示为正方形,具有相同逻辑宽度和高度的椭圆显示为圆。

当您刚开始将映射方式设定为MM_ISOTROPIC时,Windows使用与MM_LOMETRIC同样的视窗和视埠范围(但是,不要对此有所依赖)。区别在於,您现在可以呼叫SetWindowExtEx和SetViewportExtEx来根据自己的偏好改变范围了,然後,Windows将调整范围的值,以便两条轴上的逻辑单位有相同的实际距离。

一般说来,您可以用所期望的逻辑视窗的逻辑尺寸作为SetWindowExtEx的参数,用显示区域的实际宽和高作为SetViewportExtEx的参数。Windows在调整这些范围时,必须让逻辑视窗适应实际视窗,这就有可能导致显示区域的一段落到了逻辑视窗的外面。必须在呼叫SetViewportExtEx之前呼叫SetWindowExtEx,以便最有效地使用显示区域中的空间。

例如,假设您想要一个「传统的」单象限虚拟座标系,其中(0,0)在显示区域的左下角,宽度和高度的范围都是从0到32,767,并且希望x和y轴的单位具有同样的实际尺寸。以下就是所需的程式:

如果其後用GetWindowExtEx和GetViewportExtEx函式获得了视窗和视埠的范围,可以发现,它们并不是先前指定的值。Windows将根据显示设备的纵横比来调整范围,以便两条轴上的逻辑单位表示相同的实际尺寸。

如果显示区域的宽度大於高度(以实际尺寸为准),Windows将调整x的范围,以便逻辑视窗比显示区域视埠窄。这样,逻辑视窗将放置在显示区域的左边:


 

首页 上一页 60 61 62 63 64 65 66 下一页 尾页 63/83/83
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇键盘 下一篇输出文字

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容: