计算机中的长度单位

来源:互联网 发布:ubuntu使用163源 编辑:程序博客网 时间:2024/05/01 23:40

< 转载请注明出处:flyoxs - 计算机中的长度单位 >

 

引子:从几个问题开始

 

问题1:Photoshop中的标尺,在屏幕上看起来为什么不是实际的长度?

问题2:Word中的文字,在台式机上大些,在笔记本上却很小,看得眼疼,但打印出来时,不管用什么打印机,最终的大小都是一致的,为什么?

问题3:五号字体是什么意思?对应到公制单位是多长?

 

阅完本文后,你将轻松地回答上面几个问题。

 

一、现实生活中的长度单位

 

先从现实生活中的长度单位说起。

我们熟悉的长度单位有:

  • 国际公制单位:米(m)、厘米(cm)、毫米(mm)等
  • 英语国家单位:英尺(feet)、英寸(inch)、码(yard)等
  • 我国传统单位:里、丈、尺、寸等

需要注意的是,国际公制单位在全世界通用,英制单位只在英语国家常用,而我国的传统单位也只用在有限的领域中,如服装行业,而现在的年轻人却通常不知道1尺有多长。

 

它们单位转换关系如下:

  • 1 inch = 2.54 cm
  • 1 m = 3 chi (尺)

二、显示器和像素

 

在计算机中,怎么表达长度单位呢?当然是用01串组表达啦。

其实本文的主题,全称应该是“计算机图形输出设备中的长度单位”。计算机输出设备常用的有两种:显示器和打印机。

现在,隆重介绍我们的新嘉宾出场,她名叫像素(pixel, px)。

像素是显示器(电视)最常用的计量单位,不管是以前的CRT,还是现在的液晶。一个像素等于多长?没有人能回答,因为1 px在不同的显示器上有不同的长度表现。一个像素是一个物理的发光点,这点能发出不同颜色的光,我们的显示器就由这些密密麻麻的光点组成。当然,如果你不注意,这些“小不点”你是无法用肉眼看清的,借助放大镜倒可以。

 

一台显示器有三个重要的相关参数:

  • 大小:就是我们常说的多少寸。这个寸是指英寸,表示显示器可视区域从左上角到右下角(对角线)的长度
  • 物理分辨率:w x h,就是水平方向上,一行有w个像素,垂直方向上,一列有h个像素,所以显示器的总像素数是它们的乘积
  • 点距:屏幕上两个相邻像素点之间的距离,可以上面两个参数求出。厂商在一般显示器的参数中有注明

比如我现在使用的显示器是长城M228,大小为22寸,分辨率为1680 x 1050,点距为0.282mm。

在这里顺便澄清一个常被人们误解的问题。在同等尺寸的显示器下,屏幕物理分辨率是越在越好,还是越小越好?显而易见,是越大越好了,因为发光点数多嘛(液晶点阵多,我们赚大了),能够显示的视野自然就阔了。但是,分辨率一高,点距就变小了,因为单位长度内所包含的像素点数多了。换另一种问法:点距越大越好还是越小越好?这就仁者见仁智者见智了。年轻人喜欢点距小一点的,这样图片看起来清晰(事实上图片质量本身没变好,只是图片显示时缩小了,看起来精致很多)。上了年纪的人就受不了小点距的显示器,因为操作电脑时,所有字体都小了,看起来吃力。

 

三、打印机和字号

 

在印刷行业,没有像素这一说法,人们说得更多的是点、DPI之类。其实,这里的点和显示器中的像素是指同一意思,都表示图像/图形输出设备的分辨率。

DPI是Dot Per Inch的英文缩写,表述每英寸所能打印的点数或线数,用来表示打印机的打印分辨率。这是衡量打印机打印精度的主要参数之一。一般来说,DPI值越大,表明打印机的打印精度越高。DPI和显示器的点距表达同一个物理意义。现在市面上便宜的黑白打印机一般是300DPI,就是在白纸上1英寸(2.54厘米)这么长的空白处,打印机能控制300个点,即每个点都可印可不印。

如果印刷文本,人们怎么描述印刷文字的大小?这就是下面要说的字号了。

字号的单位有多种,你完全可以用像素(点)来描述,但那样用起来太费劲了。事实上,表示一个字体大小最常用的单位是point,简写为pt,中文译作磅,也有译作点数的。说到磅,我想大家应该接触很多吧。打开Word软件,选字号时最常用的是“小四”,其实小四就是12磅。在字号的下拉列表中往下拉,你可直接使用pt作单位。

你或许已经注意到了,在微软的Word中,字号选择时有两种单位,比如“初号”“一号”“小一”等,和直接用阿拉伯数字,此时单位是磅。由于传统原因,在我国印刷行业中,表示字体大小有以下两种制式:

  • 号数制:以互不成倍数的几种活字为标准,加倍或减半自成体系。在Word中表现为“小初”、“四号”等。
  • 点数制:又称磅数制,英文point的音译或音译。在Word中表现为36(pt)、14(pt)等。

那么,号数制中的一号到底有多大?点数制中的1pt呢?其实这两个问题已无多大意义,因为最初的手工印刷是以某套常用的字模(活字)作为基准的,多少号多少号只不过是相对单位。历史已成过去,我们无需过多追忆,就像Qwerty键盘一样,毫无理由地增加初学者的负担。我们只需要知道:72 pt 约等于1英寸,或者更精确点,72 pt = 0.996264 inches

至于号数制的字号,请看下表吧。注意印刷行业中的字号跟微软Office Word中的字号稍有不同。下面是Word使用的字号与磅数对照效果:

初号44pt

小初36pt

一号26pt

小一24pt

二号22pt

小二18pt

三号16pt

小三15pt

四号14pt

小四12pt

五号10.5pt

小五9pt

六号7.5pt

小六6.5pt

七号5.5pt

八号5pt

 

 

 

四、Windows 的屏幕DPI设置

 

你现在脑子可能有点涨,因为到现在为止,你还未能解决本文开头提到的问题1。看完本节,你将有所收获。

事实上,所有计算机辅助设计软件在屏幕上都不能精确地画出实际(公制)长度单位表示的线条,除非它知道你所使用的显示器的详细信息及相关设置。

我们对比一下打印机,不难发现问题所在。文档中指定线条多长或字体多高,打印机就能精确地打出你所期望的长度,为什么?因为应用软件通过打印机驱动,可以得知打印机的DPI(一英寸对应多少像素点)。假如某台打印机的分辨率是600dpi,那么应用软件很容易算出打印一厘米需要打出个1524个点的痕迹(1524 = 1 / 2.54 * 600)。

说回显示器,打印机有DPI,那显示器呢,显示器可多种多样啊?肯定有,系统不知道而已,因为显示器没有定义通用的标准接口供系统调用,所以系统不会知道,也不可能知道显示器的DPI(或者说点距更为妥当)。这也是行业原因,上一代的通信接口(PC和显示器之间)是VGA,它只能传输模拟信号,另外当时的显示器也没有集成MCU和ROM,所以无从保存显示器信息。

通俗点说,因为显示器没有提供驱动,系统(PC机)无从获知挂接显示器的DPI,也就不能在屏幕上正确地画出实际长度单位的线段和文字了。

系统虽然不知道显示器的真实DPI,Windows却给它假定了一个DPI,但是通常这个假定的DPI是错误的,所以你在屏幕上看到的效果跟应用软件绘制的实际长度会不一致。

下面我们分析一个这个Windows给我们自作主张假定的DPI吧。

 在桌面空白处右击,选“属性”,切换到“设置”标签,单击右下方按钮“高级”,弹出显示器属性对话框(Windows XP 下),如下图:

图 1  显示器DPI设置

如上图,在显示框的DPI设置下拉列表中,Windows默认给我们的显示器设置了96DPI,现在我们验证一下这个值的正确性。

上面提到,我的显示器是22寸 1680 x 1050的分辨率,点距是0.282毫米,即一个点的长度是0.282mm。先把它转换为英寸单位,再用1相除,得到我的显示器的DPI:

      dpi = 1 / (0.282 / 25.4) = 90 (dpi)

可见,两者之间有点差别,这就是造成显示效果不准确的原因。只要把DPI设置改为自定义设置,然后调整到自己计算出的正确DPI(90),确定,重启电脑,再在Photoshop中量一量,显示的长度是否变准确了?Word里面的A4竖页(100%视图时)的页面宽度是否刚好为21厘米?页面上的文字大小是否跟打印机打出的一致?

话说回来,更改Windows显示设置的DPI,使它完全符合我们的显示器,好像也没有什么实际意义。不过,利用这节掌握的知识,你是否可以算出制图软件画出的10厘米的标尺,在你的屏幕中实际显示为多长?赶快用直尺验证一下吧。

(计算方法提示:实际长度(cm) = 软件宣称长度(cm) / 2.54 * Windows设置的DPI * 你显示器的点距)