php怎么调整字体和图片距离,PHP计算思源字体宽度, 并把文字绘制到图片上

2019-6-19 9:18:54 星期三

思源字体是一套开源的字体, 那字体宽度是多少呢?

测试场景, 将包含汉字, 数字, 大小写字符的一段文字写到图片中去, 但不能出现超出的情况,  这就要计算出每种字符在不同字体下的宽度了

测试工具:  php GD扩展, 思源字体 (注意 思源字体是otf后缀, 意思是 open tty字体,  可以用PHP的 imagettftext() 函数将文字写入到图片中去)

测试结果图:

右边的宽度是800px,

使用的字体是SourceHanSansSC-Light.otf, frontsize=10,

1. 汉字: 总共61.5个汉字, 计算下来, 每个汉字大约13px, frontSize=1时代表1.3px

2. 数字: 总共114个数字, 计算下来, 每个数字大约7.01px, frontSize=1时代表0.7px

3. 大写英文字母: 总共97.5个字符, 计算下来, 每个字符大约8.2px, frontSize=1时代表0.82px

4. 小写英文字母: 总共118个字符, 计算下来, 每个字符大约6.78px, frontSize=1时代表0.68px

使用的字体是SourceHanSansSC-Light.otf, frontsize=20,

1. 汉字: 总共29.5个汉字, 计算下来, 每个汉字大约27.12px, frontSize=1时代表1.36px

2. 数字: 总共57个数字, 计算下来, 每个数字大约14.03px, frontSize=1时代表0.7px

3. 大写英文字母: 总共49.5个字符, 计算下来, 每个字符大约16.16px, frontSize=1时代表0.8px

4. 小写英文字母: 总共59个字符, 计算下来, 每个字符大约13.56px, frontSize=1时代表0.68px

总结:

汉字: frontSize=1时代表1.36px

数字:  frontSize=1时代表0.7px

大写英文字母: frontSize=1时代表0.8px

小写英文字母:frontSize=1时代表0.68px

2019-12-6 11:33:33 星期五

PHP中安装imgick扩展后, 该扩展可以自动识别字体宽度

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值