2012-06-20 4 views
0

Я работаю над небольшим проектным проектом, часть которого включала в себя написание текста в заданном шрифте, чтобы буквы слова касались друг друга только справа и левая сторона.Тестирование того, как близко друг к другу две буквы могут быть (2D)

Я подумал о реализации этого, как показано ниже: создать GlyphVectors из двух букв, создать объекты Shape с помощью vector.getOutline(), а затем создать объекты Area и пересечь их.

Единственное, что мне не хватает с помощью этого метода, это возможность сдвинуть вторую букву вправо до тех пор, пока пересечение не будет пустым.

Есть ли способ сделать это, или мне нужно использовать другой подход?

ТИА

ета: ок, я понял, что я могу использовать AffineTransform. Теперь, есть ли способ рассказать размер (площадь поверхности) Района, созданный пересечением двух букв?

ответ

0

Насколько точны вы хотите, чтобы это было? Точность пикселя намного проще, чем точность вектора. Рассматривали ли вы линеаризацию (обычно делали через контуры, а затем выполняли поиск в противоположных направлениях между всеми точками?

public PathIterator getPathIterator(AffineTransform at, double flatness) 

) Это, по-видимому, наиболее очевидное решение, хотя оно не является векторно-точным.

Смежные вопросы