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扩展后, 该扩展可以自动识别字体宽度
PHP计算思源字体宽度, 并把文字绘制到图片上的更多相关文章
- 网页使用思源字体 CSS
在知乎上再次看到这门字体的提问,想想中文字体过得多么艰辛,中文软件过得多么艰辛. 思源字体 2014年7月,Adobe与Google宣布推出一款新的开源字体思源黑体, 有七种字体粗细(ExtraLig ...
- Android中加入思源字体/NotoSansCJK/SourceHanSans
系统版本号:Android 4.2.2_r1 本文主要是在Android中加入思源字体的过程记录. 思源字体是Google和Adobe在2014.07.18公布的中文字体. 1.获取思源字体(Goog ...
- 【亲测可行,图片宽度高度自适应】c# Graphics MeasureString精确测量字体宽度
, , ) { int count = number.Length; //需要配置的字段 //Font f = new Font("Microsoft Sans Serif", f ...
- Windows下自动云备份思源笔记到Gitee
前言 思源笔记是一款本地笔记为主的软件,其目前提供了148元/year的付费同步功能,但对于21世纪中国难民而言还是太贵啦. 条件允许的同学还是使用官方的同步,支持下作者. 所以,就在思考有没有白嫖的 ...
- java给图片写正反字体,并将二维码写到图片上,代码实现
/** * @param filePath * 源图片路径 * @param markContent * 图片中添加内容 * @param outPath * 输出图片路径 字体颜色等在函数内部实现的 ...
- [上传下载] C# ImageUpload图片上传类教程与源码下载 (转载)
点击下载 ImageUpload.zip 功能如下图片1.设置属性后上传图片,用法如下 /// <summary> /// 图片上传类 /// </summary> //--- ...
- 使用百度UMeditor富文本编辑器,修改自定义图片上传,修改源码
富文本编辑器,不多说了,这个大家应该都用到过,至于用到的什么版本,那就分很多种 CKEditor:很早以前叫FCK,那个时候也用过,现在改名了,比较流行的一个插件,国外很多公司在用 UEDITOR:百 ...
- CKEditor5 + vue2.0 自定义图片上传、highlight、字体等用法
因业务需求,要在 vue2.0 的项目里使用富文本编辑器,经过调研多个编辑器,CKEditor5 支持 vue,遂采用.因 CKEditor5 文档比较少,此处记录下引用和一些基本用法. CKEdit ...
- php图片上传存储源码,可实现预览
<?php header("content-Type: text/html; charset=gb2312"); $uptypes=array('image/jpg', // ...
随机推荐
- 浅谈Python设计模式 - 适配器模式
声明:本系列文章主要参考<精通Python设计模式>一书,并且参考一些资料,结合自己的一些看法来总结而来. 从本篇便开始介绍结构型设计模式,而适配器设计模式便是该类设计模式的一种,那么什么 ...
- pyppeteer进阶技巧
记录一下在使用pyppeteer过程中慢慢发现的一些稍微高级一点的用法. 一.拦截器简单用法 拦截器作用于单个Page,即浏览器中的一个标签页.每初始化一个Page都要添加一下拦截器.拦截器实际上是 ...
- U盘启动安装CentOS 7出现 -dracut initqueue timeout
使用U盘启动安装CentOS7出现 Warning: dracut-initqueue timeout - starting timeout scripts 的解决办法 原因: ISO下,在/isol ...
- 王天悦 201671030121 实验十四 团队项目评审&课程学习总结
项目 内容 课程名称 2016级计算机科学与工程学院软件工程(西北师范大学) 作业要求 实验十四 团队项目评审&课程学习总结 课程学习目标 (1)掌握软件项目评审会流程,(2)反思总结课程学习 ...
- el-tabs 使用
el-tabs 使用 文章标题 网址 https://www.cnblogs.com/yuxiaole/p/9523735.html https://www.jianshu.com/p/571d832 ...
- AHOI2014 奇怪的计算器 和 HDU5306 Gorgeous Sequence
线段树秀操作题. 奇怪的计算器 有 N 个数,一共会对这 N 个数执行 M 个指令(对没个数执行的指令都一样),每一条指令可以是以下四种指令之一:(这里 a 表示一个正整数) 加上 a 减去 a 乘以 ...
- 日志分析查看——grep,sed,sort,awk运用
概述 我们日常应用中都离不开日志.可以说日志是我们在排查问题的一个重要依据.但是日志并不是写了就好了,当你想查看日志的时候,你会发现线上日志堆积的长度已经超越了你一行行浏览的耐性的极限了.于是,很有必 ...
- Mobx | 强大的状态管理工具 | 可以用Mobx来替代掉redux
来源简书 电梯直达 https://www.jianshu.com/p/505d9d9fe36a Mobx是一个功能强大,上手非常容易的状态管理工具.就连redux的作者也曾经向大家推荐过它,在不少情 ...
- react native 依赖库管理:入门
目标文件:package.json { .... "dependencies": { "react": "16.8.3", "re ...
- linux 查看硬盘使用情况
在windows系统中,我们可以很容易的查看磁盘的使用情况,在linux系统中,我们可以使用命令来查看磁盘使用情况. 1.df命令 作用:用来查看硬盘的挂载点,以及对应的硬盘容量信息.包括硬盘的总大小 ...