设为首页 加入收藏

TOP

图形基础(五十五)
2010-12-30 21:10:52 来源: 作者: 【 】 浏览:40211
Tags:图形 基础
s如何将GDI函式中指定的逻辑座标映射为装置座标,这里的装置座标系取决於您用哪个函式来取得装置内容。要继续讨论映射方式,我们需要一些术语:映射方式用於定义从「视窗」(逻辑座标)到「视埠」(装置座标)的映射。

「视窗」和「视埠」这两个词用得并不恰当。在其他图形介面语言中,视埠通常包含有剪裁区域的意思,并且,我们已经用视窗来指程式在萤幕上占据的区域。在这里的讨论中,我们必须把关於这些词的先入之见丢到一边。

「视埠」是依据装置座标(图素)的。通常,视埠和显示区域相同,但是,如果您已经用GetWindowDC或CreateDC取得了一个装置内容,则视埠也可以是指整视窗座标或者萤幕座标。点(0,0)是显示区域(或者整个视窗或萤幕)的左上角,x的值向右增加,y的值向下增加。

「视窗」是依据逻辑座标的,逻辑座标可以是图素、毫米、英寸或者您想要的任何其他单位。您在GDI绘图函式中指定逻辑视窗座标。

但是在真正的意义上,视埠和视窗仅是数学上的概念。对於所有的映射方式,Windows都用下面两个公式来将视窗(逻辑)座标转化为视埠(设备)座标:


 

其中,(xWindow,yWindow)是待转换的逻辑点,(xViewport,yViewport)是转换後的装置座标点,一般情形下差不多就是显示区域座标了。

这两个公式使用了分别指定视窗和视埠「原点」的点:(xWinOrg,yWinOrg)是逻辑座标的视窗原点;(xViewOrg,yViewOrg)是装置座标的视埠原点。在内定的装置内容中,这两个点均被设定为(0,0),但是它们可以改变。此公式意味著,逻辑点(xWinOrg,yWinOrg)总被映射为装置点(xViewOrg,yViewOrg)。如果视窗和视埠的原点是预设值(0,0),则公式简化为:


 

此公式还使用了两点来指定「范围」:(xWinExt,yWinExt)是逻辑座标的视窗范围;(xViewExt,yViewExt)是

首页 上一页 52 53 54 55 56 57 58 下一页 尾页 55/83/83
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇键盘 下一篇输出文字

评论

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