imagettftext 中的像素字体大小而不是磅值

Posted

技术标签:

【中文标题】imagettftext 中的像素字体大小而不是磅值【英文标题】:pixel font size in imagettftext instead of point size 【发布时间】:2010-12-05 06:43:46 【问题描述】:

我正在尝试使用 imagettftext,但显然它在 GD2 中使用点大小,但我所有的大小都以像素为单位,是否有任何其他功能可以使用,或者有什么方法可以将像素转换为点?

【问题讨论】:

这似乎取决于 GD 内部对图像 DPI 的看法。例如,如果图像为 72 DPI,则点与像素相同,因为 1 点 = 1/72 英寸。我一直在寻找有关 GD 是否有 DPI 设置以及如何访问它的信息,但到目前为止没有任何乐趣。 刚刚发现这个 php 错误报告确实很旧(2002 年),但似乎对此问题进行了一些有用的讨论:bugs.php.net/bug.php?id=15656 根据其中一位评论者的说法,GD 的内部 DPI 是 96。这与我尝试将 GD 的渲染字体与设置为 72 DPI 的 PSD 文件匹配的试错经验。通常,将 PSD 的点大小乘以 0.75 将得到正确的大小以传递给 GD。并且 72/96 = 0.75。 【参考方案1】:

如果你超级懒惰,那么这可能是一个近似值:

$fontsizeinPT = ($fontsizeinPX*3)/4;

【讨论】:

【参考方案2】:

见http://reeddesign.co.uk/test/points-pixels.html

【讨论】:

以上是关于imagettftext 中的像素字体大小而不是磅值的主要内容,如果未能解决你的问题,请参考以下文章

iOS字体适配的问题

字体大小对照换算表

字体大小

14pt字体大小是啥意思啊?

excel单元格大小的单位不是厘米,如何换算成厘米呢

字体的FontSize(pt)和像素(px)的关系