在Flex中,如何在没有溢出的情况下将图像放入画布中?

时间:2009-08-13 06:10:30

标签: flex image layout canvas

我有一个嵌套在画布内的图像。

<mx:Canvas>
<mx:Image source="@Embed(source='assets/library.swf', symbol='Waves')" />
</mx:Canvas>

我希望Image不要溢出Canvas的界限。但是当我在画布上设置widthheight时,我的图像就会消失。 Canvas似乎也不尊重horizontalScrollPolicy

看起来很简单,但是由于官方Flex文档目前已关闭,我想我会转向SO。

2 个答案:

答案 0 :(得分:1)

你的画布应该有宽度和高度,你可以使用autoscale / maintainaspectratio属性来使图像表现。

<mx:Canvas width="500" height="250"
        verticalScrollPolicy="off" horizontalScrollPolicy="off" 
        backgroundColor="#000000">

        <mx :Image id="theimage"
            maintainAspectRatio="true"
    scaleContent="true"
            width="500" height="250"
            source="your image" />
</mx:Canvas>

如果您希望图像居中,也可以查看此post。它比它应该有点棘手。

答案 1 :(得分:0)

问题是我自己的错。我将剪辑的绘图参考点设置为大约舞台的高度,并将画布的高度设置为剪辑sans标记的高度。

最后,调整Flash中的参考点并使用以下代码解决了它:

<mx:Canvas width="100%" height="200" horizontalScrollPolicy="off" verticalScrollPolicy="off">
<mx:Image source="@Embed(source='assets/library.swf', symbol='Waves')" />
</mx:Canvas>
但是,TheBrain的答案通常是正确的。