在做H5应用时,有个功能是生成海报,思路是通过canvas来实现这个功能。
一顿操作之后,是这样的:
此时,我感觉已经完工了。:)
结果,当文本里含有数字、字母或者特俗符号的时候,它是这个样子的:
这样就有点难受了。。。因为我是设置了文字大小,然后根据计算的宽度设置了每行文字的字数,但是数字、字母或者特俗符号的字距就比较小,因此出现了上图的样式。
既然是bug那就得解决了,回过头翻了翻canvas文档,找到了 measureText() 方法。
measureText()
在画布上输出文本之前,检查字体的宽度
通过这个方法又是一顿操作: