s:Image + s:Rotate поворот и маштаб в контейнере

6 views
Skip to first unread message

y shumovskij

unread,
Sep 15, 2011, 5:18:29 AM9/15/11
to ruF...@googlegroups.com
Доброго дня!

Надо подгонять картинку под размеры контейнера (ужимать по горизонтали и вертикале чтоб поместилась целиком в контейнер) и делать ей поворот и опять ужать чтоб поместилась в размеры контейнера

Для этого написал такой код:

<fx:Script>
        <![CDATA[
            import mx.events.FlexEvent;
           
            [Bindable]
            private var angle:Number = 0;
           
            protected function button1_clickHandler(event:MouseEvent):void
            {
               
                angle += 90;
                rotate.play();
            }

        ]]>
    </fx:Script>
   
    <fx:Declarations>
        <s:Rotate id="rotate"
                   target="{img}"
                   angleFrom="{angle - 90}"
                   angleTo="{angle}"
                   duration="0"
                  
                  
                   />
    </fx:Declarations>
   
   
    <s:Button x="334" y="338" label="Button" click="button1_clickHandler(event)"/>
   
     <s:Group x="159" y="214" width="159" height="86">
        <s:Image id="img" x="0" y="0" width="100%" height="100%" scaleMode="letterbox" smooth="true"
             smoothingQuality="high" source="@Embed(source='image.png')"/>
    </s:Group>


и размеры все же правильно меняет, но при повороте сдвигается то влево, то вверх. как это побороть? Также не нашел в s:Image conent чтоб позиционировать вручную (как в mx.Image)

img.x, img.y выдают 1 и 1
autoCenterTransform="true" -ничего не делает...

meiciuc

unread,
Sep 15, 2011, 5:27:29 AM9/15/11
to ruf...@googlegroups.com

а если эту "вращающуюся" картинку поместить внутрь еще одного контейнера, и его уже позиционировать align-ами?

15 сентября 2011 г. 2:18 пользователь y shumovskij <yurij.sh...@gmail.com> написал:

Доброго дня!

Надо подгонять картинку под размеры контейнера (ужимать по горизонтали и вертикале чтоб поместилась целиком в контейнер) и делать ей поворот и опять ужать чтоб поместилась в размеры контейнера

 
и размеры все же правильно меняет, но при повороте сдвигается то влево, то вверх. как это побороть? Также не нашел в s:Image conent чтоб позиционировать вручную (как в mx.Image)


img.x, img.y выдают 1 и 1
autoCenterTransform="true" -ничего не делает...


--
с уважением,
meicuc

y shumovskij

unread,
Sep 15, 2011, 5:40:00 AM9/15/11
to ruf...@googlegroups.com
Сделал так

    <s:Group x="159" y="214" width="159" height="86">
         <s:Group width="159" height="86" >
            <s:Image id="img" width="100%" height="100%" scaleMode="letterbox" smooth="true"
                 smoothingQuality="high" source="@Embed(source='yury_site.png')"/>
        </s:Group>
    </s:Group>



и так

    <s:Group x="159" y="214" width="159" height="86">
         <s:Group width="100%" height="100%" >
            <s:Image id="img" width="100%" height="100%" horizontalCenter="0" scaleMode="letterbox"
                     smooth="true" smoothingQuality="high" source="@Embed(source='yury_site.png')"
                     verticalCenter="0"/>
        </s:Group>
    </s:Group>


и никак... все также смещается то влево то вверх..
кст, при autoCenterTransform="true" все же центрируются, но не меняет размеры под контейнер

y shumovskij

unread,
Sep 15, 2011, 5:44:37 AM9/15/11
to ruf...@googlegroups.com
Вау! заработало при такой комбинации! :)

<fx:Declarations>
        <s:Rotate id="rotate"
                   target="{img}"
                   angleFrom="{angle - 90}"
                   angleTo="{angle}"
                   duration="0"
                   autoCenterTransform="true"

                   />
    </fx:Declarations>
   
   
    <s:Button x="334" y="338" label="Button" click="button1_clickHandler(event)"/>
   
    <s:Group x="159" y="214" width="159" height="86">
         <s:Group width="100%" height="100%" >
            <s:Image id="img" width="100%" height="100%" horizontalCenter="0" scaleMode="letterbox"
                     smooth="true" smoothingQuality="high" source="@Embed(source='site.png')"

                     verticalCenter="0"/>
        </s:Group>
    </s:Group>


15 сентября 2011 г. 12:40 пользователь y shumovskij <yurij.sh...@gmail.com> написал:
Reply all
Reply to author
Forward
0 new messages