После нескольких часов исследований в правой части Интернета (без голых людей) я не нашел так много о своем вопросе. Вот почему я решил взглянуть на исходный код Gimp, чтобы узнать, как на самом деле работает магический «текст вдоль пути» ... и, похоже, ничего не было сделано, чтобы сделать это действие доступным через pdb.
После этого, чтобы быть уверенным, я спросил в списке рассылки разработчиков gimp, и кто-то (я не знаю, разрешено ли мне назвать его имя прямо здесь) ответил мне так:
Текст вдоль
Путь "функция в основном взломать, и никогда не был предназначен для
конечный продукт. Правильная функция text-on-path позволила бы путь
быть изменены и изменить текст соответственно. То, как искривленный
Текст отображается также не идеально. Потому что план был всегда
что функциональность изменится, никакой ловушки PDB никогда не создавался для
это.
Другой рассказал мне, как создать свой собственный плагин «Текст вдоль пути»:
Однако, насколько мне известно, штрихи Безье на пути имеют следующее свойство: применение аффинного преобразования к их контрольным точкам и маркерам эквивалентно
применяя одно и то же преобразование к каждой точке кривой. Таким образом, вы можете сделать что-то вроде этого:
- определяет «контрольный путь», то есть прямой путь по тексту (или проходит через его середину)
- для каждого мазка итерации контрольных точек и для каждой точки («С»):
- определяют проекцию на опорной траектории (расстояние от начала отсчета пути) (ELT назовем это «R») и расстояние до него
- найти соответствующую точку на целевом пути (pdb.gimp_path_get_point_at_dist ()), "R" "
- найти положение новой контрольной точки C ': такое же расстояние до траектории цели, на перпендикуляре
- вычислить положение ручек:
- вычислить dx / dy между H и C
- вычислить эквивалентную позицию H 'из новой контрольной точки C'
- применить вращение, центрированное на C 'с углом, который является направлением целевого пути в R' (как возвращено ранее gimp_path_get_point_at_dist ()), чтобы создать новую позицию ручки (H ")
- повторить для второй ручки
- добавить триплет C ', H "1, H" 2 к новому штриху
Затем он посоветовал мне взглянуть на два плагина, делающие вещи, сходные с векторами, называемые ленточным путем и slinky, и доступные на http://gimp -path-tools.sourceforge.net /
Надеюсь (спасибо этим двум парням) этот пост поможет.