从php中的ttf-font获取单个字符的宽度?
我正在创建一个动态图像,它使用 PHP GD 库在我的页面上创建标题。问题是,我需要一个换行系统。这本身不是问题,但首先我需要获取当前字符的宽度(以像素为单位)。
我很好奇这个问题,有什么办法吗?或者我需要手动指定每个 abc 的宽度?
马蒂·莱恩
I'm creating an dynamic image, which creates headers on my page using PHPs GD-library. The problem is, that I need a line-wrapping system. It's not a problem itself, but first I need to get the width (in pixels) of current character.
I'm pretty curious about this, is there any way? Or do I need to manually specify width of every abc?
Martti Laine
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
您必须对每个字符执行 imagettfbbox() 。
未经测试但应该有效:
You would have to do a imagettfbbox() on each single character.
Untested but should work:
如果你打印结果,
你可能会得到类似这样的结果:
每个索引的位置是:
所以宽度应该是索引 2 - 索引 0。我不太明白索引 0 的负 1。
如果你将字符串中每个字符的总结果是 130 而不是 153。
If you print the results of
you might get something` like:
where each index is:
So the width should be index 2 - index 0. I dont quite get the minus 1 for index 0.
It is a bit odd that if you sum the total of each char in the string the results is 130 not 153.