设为首页 加入收藏

TOP

图形基础(五十二)
2010-12-30 21:10:52 来源: 作者: 【 】 浏览:40222
Tags:图形 基础

文字从距离显示区域左端8图素、上端16图素的位置处开始。

如果映射方式设定为MM_LOENGLISH:

则逻辑单位是百分之一。现在,TextOut呼叫如下:

文字从距离显示区域左端0.5英寸、上端1英寸的位置处开始。至於y座标前面的负号,随著我们对映射方式更详细的讨论,将逐渐清楚。其他映射方式允许程式按照毫米、印表机的点大小或者任意单位的座标轴来指定座标。

如果您认为使用图素进行工作很合适,那么就不要使用内定的MM_TEXT方式外的任何映射方式。如果需要以英寸或者毫米尺寸显示图像,那么可以从GetDeviceCaps中取得所需要的资讯,自己再进行缩放。其他映射方式都是避免您自己进行缩放的一个方便途径而已。

虽然您在GDI函式中指定的座标是32位元的值,但是仅有Windows NT能够处理全32位元。在Windows 98中,座标被限制为16位元,范围从-32,768到32,767。一些使用座标表示矩形的开始点和结束点的Windows函式也要求矩形的宽和高小於或者等於32,767。

装置座标和逻辑座标
 

您也许会问:如果使用MM_LOENGLISH映射方式,是不是将会得到以百分之一英寸为单位的WM_SIZE讯息呢?绝对不会。Windows对所有讯息(如WM_MOVE、WM_SIZE和WM_MOUSEMOVE),对所有非GDI函式,甚至对一些GDI函式,永远使用装置座标。可以这样来考虑:由於映射方式是一种装置内容属性,所以,只有对需要装置内容代号作参数的GDI函式,映射方式才会起作用。GetSystemMetrics不是GDI函式,所以它总是以装置单位(即图素)为量度来传回大小的。尽管GetDeviceCaps是GDI函式,需要一个装置内容代号作为参数,但是Windows仍然对HORZRES和VERTRES以装置单位作为传回值,因为该函式的目的之一就是给程式提供以图素为单位的设备大小。

不过,从GetTextMetrics呼叫中传回的TEXTMETRIC结构的值是使用逻辑单位的。如果在进行此呼叫时映射方式为MM_LOENGLISH,则GetT

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

评论

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