我正在尝试使用客户端 JavaScript 实现 SVG 文本元素的碰撞检测。命中测试应检查文本的任何字形是否与另一个文本元素的任何字形重叠。因为getBBox
和getExtentOfChar
不准确,我需要一个定制的解决方案。
我的第一种方法是获取元素的每个坐标/像素的颜色并手动进行命中测试,但这不起作用,因为无法获取坐标的颜色。它需要一个额外的画布来获得像素颜色 - >糟糕的解决方法。
现在我正在考虑将文本或字形转换为多边形以进行命中测试。是否可以?或者有没有其他基于字形的命中测试的方法?
最好的祝福