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扩展后, 该扩展可以自动识别字体宽度
最新文章
- .NET Core RC2/RTM 明确了时间表
- git tool
- python之旅3
- svn server
- java length size
- javascript必须懂之冒泡事件
- 机器学习基石--学习笔记02--Hard Dual SVM
- Java 中日期的几种常见操作 —— 取值、转换、加减、比较
- nodejs使用mongoose
- Number
- java转义字符
- 搜索算法:深度优先搜索(DFS)
- 轻松几句搞定【Javascript中的this指向】问题
- 将CSV文件写入MySQL
- Lambda表达式中的GroupBy使用的正确姿势
- 汇编语言--微机CPU的指令系统(五)(标志位操作指令)
- 【转】C++ 11 并发指南一(C++ 11 多线程初探)
- 发布-订阅消息系统Kafka简介
- Java知多少(16)StringBuffer与StringBuider
- hadoop 常见 命令
热门文章
- 【Iterm2】如何解决iterm2窗口自动隐藏的问题
- Python卸载不干净?苹果电脑卸载python教程
- IoT设备上的恶意软件——通过漏洞、弱密码渗透
- excel打开提示 文件格式和扩展名不匹配。文件可能已损坏或不安全。除非您信任其来源,否则请勿打开。是否仍要打开它?
- Java-Eclipse-findbugs-sonar学习
- reactNative 获取组件高、宽、位置等信息
- Apache是什么?
- [Javascript] Working with Static Properties on a Class
- BZOJ 2600: [Ioi2011]ricehub 双指针+贪心
- Numpy | 09 高级索引