在imagettftext中使用像素字体大小而不是点大小

6

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


1
看起来这将取决于GD内部认为图像的DPI是多少。例如,如果图像是72 DPI,则点与像素相同,因为1点= 1/72英寸。我一直在搜索关于GD是否有DPI设置以及如何访问它的信息,但迄今为止没有找到。 - LinusR
7
刚刚发现了一份PHP的漏洞报告,虽然很旧(2002年),但似乎对这个问题有一些有用的讨论: https://bugs.php.net/bug.php?id=15656 根据其中一位评论者的说法,GD的内部DPI为96。这与我的试错经验相符,试图将GD呈现的字体与设置为72 DPI的PSD文件匹配。通常,将PSD中的磅数大小乘以0.75即可获得正确的大小传递给GD。而且72/96 = 0.75。 - LinusR
2个回答

10

如果你非常懒惰,那么这可能作为一个近似值:

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

是的,我非常懒,谢谢先生!太好了! - yose


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接