如何在flex中编写弯曲文本?

时间:2010-01-05 09:01:34

标签: flex

如何在Flex应用程序中编写弯曲文本。我的应用程序中有一个圆形组件,分为4个扇区。我的圆形组件是这样的,我有一个外圆和一个内圆,两个圆之间有一个小间隙。现在我想把弯曲的文字放在四个扇区的这个间隙中,与圆圈一起弯曲。我如何实现这个目标?

这是我的圈子组件:

 package components
 {
  import mx.core.UIComponent;
  public class MyCircle extends UIComponent
  {
       public var x1:int; 
          public var y1:int; 
          public var radius:int; 
         public var myText:String = "curve text test";

     override protected function updateDisplayList(unscaledWidth:Number, unscaledHeight:Number):void 
     { 
         graphics.beginFill(0xDDDDDD);
       graphics.lineStyle(1, 0x000000);
       graphics.drawCircle(x1, y1, radius); 

       graphics.beginFill(0xDDDDDD);
       graphics.lineStyle(1, 0x000000);
       graphics.drawCircle(x1, y1, radius-40); 

       graphics.beginFill(0xFFFFFF);
       graphics.lineStyle(1, 0x000000);
       graphics.drawCircle(x1, y1, radius-100);
     }
    }
   }

在主mxml文件中,我使用以下代码创建圆圈:

  <mx:VBox id="cle" label="Currents Quote" width="100%"> 

 <comp:MyCircle  x1="175" y1="150" radius="140" 
                    mouseDown="handleMouseDown(event);"/>           

 <comp:MyLine x1="175" y1="104"/> 
  </mx:VBox>

文本“曲线文本测试”应该沿着圆圈的曲线写出。有人指导我..

2 个答案:

答案 0 :(得分:1)

在网络上有很多great examples如何做到这一点。谷歌是你的朋友。

答案 1 :(得分:1)

如果您仍然感兴趣,我为此开发了一个小型flex组件。你可以在这里找到它:http://code11.com/lab/experiments/flex/text-on-circle-flex-component/ 扩展代码以实现您想要的功能应该非常容易。如果您需要更多帮助,我可以提供帮助。