富文本编辑器(MVP)
2.1 计算文字包围盒
首先, 我们要找到一种方法, 来确定任意一段文字的包围盒. 为什么要确定包围盒呢?...但是, 当我们的文本很长的时候, 它并不会折行. 这就导致过长的文字会显示不全. 因此, 我们需要实现一个功能: 当文字触碰到canvas边缘的时候, 可以自动折行....我暂时想到了一种算法:
当渲染一段文字之前, 我们先测量一下这段文字的长度a, 再计算一下文字起点距离canvas边缘的距离b
1. 如果a <= b, 那么直接渲染即可.
2....如果后期遇到了性能问题, 我们就使用二分法, 来确定每一行的字符数, 优化算法性能....计算出多行文字的真实高度
3. 在render中渲染出每一行
然后看一下最终效果:
文字折了两次, 变成了三行, 很棒!
(未完待续)