Can Rect圆角可以不同

时间:2010-06-21 02:28:16

标签: flex actionscript-3 adobe mxml

当我使用<s:Rect>创建矩形时,我使用radiusX来获得圆角。问题是所有都是相同的圆润。是否有类似于Rect的东西让我分别控制每个角落的半径?如果没有,从头开始创建这个的最佳方法是什么?图形库还是什么?

3 个答案:

答案 0 :(得分:5)

您可以通过为topRightRadiusX,topLeftRadiusX,bottomRightRadiusX和bottomLeftRadiusX属性设置特定值而不是设置radiusX来为Rect执行此操作。

答案 1 :(得分:1)

             

        public var rectangle:Shape=new Shape();

        public var temp:int=1;

        public var ui:UIComponent=new UIComponent();
        public var i:int=new int;
        public var j:int=new int;
        public var n:int=0;

        public function init(event:Event):void
        {

            ui.addChild(rectangle);

            myCanvas.addChild(ui);
            rectangle.graphics.lineStyle(4,0x0000FF,1,false,"normal","none","bevel",9);
            rectangle.graphics.drawRoundRect(20,20,200,200,0,0);
        }


      private function changeSize():void
      {
          if(temp>=1)
          {
           rectangle.graphics.clear();
          }
          rectangle.graphics.lineStyle(4,0x0000FF,1,false,"normal","none","bevel",9);
          rectangle.graphics.drawRoundRect(20,20,200,200,hSlider.value,hSlider.value);      
      }
    ]]>
</mx:Script>

    <mx:Canvas height="100%" width="100%" id="myCanvas">
        <mx:HSlider id="hSlider" minimum="0" maximum="170" value="0"  
        dataTipPlacement="top" 
        snapInterval="1" tickInterval="1" 
        labels="['0%','100%']" 
        liveDragging="true"  
        change="changeSize();" x="25" y="233"/> 
     </mx:Canvas>

答案 2 :(得分:0)

您可能需要在此处查看StyledBox组件:http://carrythezero.net/blog/2009/06/01/flex-rounding-specific-corners-on-a-box/

它扩展了框,您可以通过CSS指定要舍入的角落。