2010-07-20 6 views
0

Я пишу в Flex простое приложение, которое позволяет персонализировать продукт, прямо сейчас я работаю над добавлением гравюрного текста. Большинство продуктов круглые, поэтому я хочу, чтобы текст был слегка изогнутым, когда он был помещен в продукт, чтобы придать ему больше реализма.Слегка изогнутый/арочный текст в Flex

Я искал текст изгибания/выгибания в Flex, но решения, которые я нашел, кажутся чрезмерными для моих запросов.

Кто-нибудь знает, как я могу слегка изгибать текст в Flex без лишних хлопот?

Это то, что я ищу, чтобы достичь http://i.imgur.com/wZIW8.png

Спасибо.

+0

Курсив не будет делать? – Prutswonder

+0

Prutswonder, боюсь, нет. Это то, что я ищу, чтобы достичь http://i.imgur.com/wZIW8.png – b2238488

ответ

1

Если это фиксированная одиночная дуга (т. Е. Ее можно вычислить «срезающей» частью полукруг), вы можете это сделать, но это будет несколько часов работы. Вот как я бы решить эту проблему:

  1. Измерить текст с UIText, и использовать это, чтобы получить рентгеновское положение каждой буквы
  2. Используйте некоторые простые тригонометрические, чтобы получить новый базовый положение и угол поворота в каждая буква
  3. Используйте еще несколько триггеров, чтобы преобразовать каждую позицию и поворот в учетную запись игрока, занимающего позицию и вращение в левом верхнем углу DisplayObjects.
  4. Используйте UIText для каждой буквы, применяя указанное положение & параметров вращения.

Шаги 2 и три были бы тем, что вы могли бы прототипом в AS3, а затем порт PixelBender, если он был слишком медленным.

Или ... Создайте текст в виде изображений в Photoshop, если вам нужно, чтобы он выглядел лучше, или ImageMagick на сервере, если он должен быть динамическим.

1

2 способа выполнения этой задачи мне известны, оба они являются выполнимыми, но оба требуют совсем немного работы:

а) Заменить одного динамического текстового поля с серией динамических текстовых полей> по одному на каждого персонажа. Затем вращайте каждый символ вокруг программной кривой.

http://blog.tsclausing.com/post/49

б) Используйте класс DisplacementMapFilter, чтобы манипулировать пиксели одного динамического текстового поля в требуемой изогнутую форму.

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