Flex中略微弯曲/拱形的文本

时间:2010-07-20 13:09:27

标签: flex

我在Flex中编写了一个简单的应用程序,允许产品个性化,现在我正在努力添加雕刻文本。大多数产品都是圆形的,因此我希望文本在放置在产品上时略微弯曲,以使其更加真实。

我在Flex中查看了文本弯曲/拱形,但我发现的解决方案对我的请求似乎有些过分。

有没有人知道如何在没有太多麻烦的情况下轻微弯曲Flex文本?

这就是我要实现的目标http://i.imgur.com/wZIW8.png

谢谢。

4 个答案:

答案 0 :(得分:1)

如果它是一个固定的单个弧(即,它可以通过“压缩”半圆的一部分来计算),你可以做到,但它需要几个小时的工作。以下是我解决问题的方法:

  1. 使用UIText测量文本,并使用它来获取每个字母的x位置
  2. 使用一些简单的trig来获取每个字母的新基线位置和旋转角度
  3. 使用更多触发来转换每个位置和旋转,以解释玩家在DisplayObjects左上角的位置和旋转。
  4. 对每个字母使用UIText,应用所述位置&旋转参数。
  5. 第2步和第3步是你可以在AS3中进行原型设计然后移植到PixelBender的东西,如果它太慢了。

    或者...在Photoshop中生成文本作为图像,如果需要它可以看起来更好,或者如果需要动态,则在服务器上生成ImageMagick。

答案 1 :(得分:1)

我知道完成这项任务的两种方法,它们都是可行的,但都需要相当多的工作:

a)用一系列动态文本字段替换单个动态文本字段>每个角色一个。然后围绕程序曲线旋转每个字符。

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

b)使用DisplacementMapFilter类将单个动态文本字段的像素处理为所需的曲线形状。

答案 2 :(得分:1)

http://code11.com/lab/experiments/flex/text-on-circle-flex-component/处有一个简单的灵活组件可以为您提供实现这一目标的方法。

答案 3 :(得分:0)

可能是Degrafa的解决方案吗? http://algorithmist.wordpress.com/2008/10/08/text-along-a-spline-iii/

但我担心这也“过度”,但是没有简单的解决办法。