0

我正在做一个小型设计项目,其中一部分涉及以给定字体写出文本,以使单词的字母在其左右两侧相互接触。

我想按如下方式实现 - 创建两个字母的 GlyphVectors,使用 vector.getOutline() 创建 Shape 对象,然后创建 Area 对象并将它们相交。

这种方法唯一缺少的是将第二个字母向右移动直到相交为空的能力。

有没有办法做到这一点,还是我需要使用不同的方法?

TIA

eta:好的,我发现我可以使用 AffineTransform。现在,有没有办法告诉由两个字母相交创建的区域的大小(表面积)?

4

1 回答 1

0

你希望它有多精确?像素精度比矢量精度更容易获得。您是否考虑过线性化(通常通过

public PathIterator getPathIterator(AffineTransform at, double flatness)

) 的轮廓,然后在所有点之间进行相反方向的搜索?这似乎是最明显的解决方案,即使它不是矢量精确的。

于 2012-06-29T05:03:10.280 回答