zoukankan      html  css  js  c++  java
  • 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扩展后, 该扩展可以自动识别字体宽度

  • 相关阅读:
    111
    实验 12 综合练习二
    实验 11结构体
    作业 5 指针应用1
    实验 10 指针2
    实验9 指针1
    实验8 数组2
    实验7
    321
    实验9-2
  • 原文地址:https://www.cnblogs.com/iLoveMyD/p/11049472.html
Copyright © 2011-2022 走看看