设为首页 加入收藏

TOP

图形基础(十六)
2010-12-30 21:10:52 来源: 作者: 【 】 浏览:40143
Tags:图形 基础
出文字连续行的基准线应该间隔12/72(或1/6)英寸。不应该为10点字体使用10点行距,因为文字的连续行会碰到一起。

10点字体读起来很舒服。小於10点的字体不益於长时间阅读。

Windows系统字体-不考虑是大字体还是小字体,也不考虑所选择的视频图素大小-固定假设为10点字体和12点行距。这听起来很奇怪,如果字体都是10点,为什么还把它们称为大字体和小字体呢?

解答是: 当您在「控制台」的「显示」程式上选择小字体或大字体时,实际上是选择了一个假定的视讯显示解析度,单位是每英寸的点数 。当选择小字体时,即要Windows假定视讯显示解析度为每英寸96点。当选择大字体时,即要Windows假定视讯显示解析度为每英寸120点。

再看看图5-2。那是小字体,它依据的显示解析度为每英寸96点。我说过它是10点字体。10点即是10/72英寸,如果乘以96点,每英寸大概就为13图素。这即是tmHeight减去tmInternalLeading的值。行距是12点,或12/72英寸,它乘以96点,每英寸就为16图素。这即是tmHeight的值。

图5-3显示大字体。这是依据每英寸120点的解析度。同样,它是10点字体,10/72乘以120点,每英寸等於16图素,即是tmHeight减tmInternalLeading的值。12点行距等於20图素,即是tmHeight的值。(像第四章一样,再次强调所显示的是实际的度量大小,因此您可以理解它工作的方式。不要在您的程式中对此写作程式。)


 

图5-3 大字体和FONTMETRIC栏位

在Windows程式中,您可以使用GetDeviceCaps函式取得使用者在「控制台」的「显示器」程式中选择的以每英寸的点数为单位的假定解析度。要得到这些值(如果视讯显示器不具有正方形图素,在理论上这些值是不同的),可以使用索引LOGPIXELSX和LOGPIXELSY。LOGPIXELS指逻辑图素,它的基本意思是「以每英寸的图素数为单位的非实际解析度」。

用HORZSIZE和VERTSIZE索引从GetDeviceCaps得到

首页 上一页 13 14 15 16 17 18 19 下一页 尾页 16/83/83
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇键盘 下一篇输出文字

评论

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