Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1810358
  • 博文数量: 496
  • 博客积分: 12043
  • 博客等级: 上将
  • 技术积分: 4778
  • 用 户 组: 普通用户
  • 注册时间: 2010-11-27 14:26
文章分类

全部博文(496)

文章存档

2014年(8)

2013年(4)

2012年(181)

2011年(303)

2010年(3)

分类: 嵌入式

2012-06-01 11:04:02

在QFont当中有两种方式设置字体大小,一种是PixelSize,另一种是PointSize

Point实际是磅,也就是 1/72 inch

我们可以从PainterDevice中得到当前DPI(Dot per inch)。因此 Pixel = DPI * Point / 72

例如设置字体为20Point。 那么字体的像素大小是 90 * 20 / 72 约等于 25.


可以将字体设置为25Pixel,看到字体的大小就是20Point和25Pixel大小是一样的。

QFont当中设置的大小,实际上字体的高度,由如下组成。

Qt

由PixelSize设置的高度,实际是Asent + 1像素(baseline的高度)。

在字体大小中涉及了以下知识:

DPI: Dot per inch,在显示器上也就是每英寸包含的像素。英尺的换算为 1 cm = 0.39 inch, 1 inch = 2.54 cm。

DPI 可以通过如下计算得来:

水平 dpi = 水平 resolution * 2.54 / 显示器宽度

垂直 dpi = 垂直 resolution * 2.54 / 显示器高度

pixel pitch(点距): 像素点间距离。可以用25.4mm / DPI得到。

字体在屏幕上的实际大小 = 字体像素大小 * 点距

大部分显示器的DPI为90.6左右,垂直和水平点距可能不一样。但windows为了方便就同一了点距,为96。我当前使用的的点距也是96。因此如果想要看到更大的字体可以使用更大的点距。


终于弄明白了 pixel size 是所占的像素大小  这样有一个缺点 有些显示器的分辨率(dpi)比较大  那么单位长度中的像素点就比较多 这样一个字所占的长度就会比较少

而 point size 则规定了实际中我们肉眼看到的字体的大小 他和pixel无关的~ 他和显示器无关  不管在什么样上的显示器上 规定大小是多少就是多少...

阅读(1378) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~