2011-03-20 114 views
0

我有一个controls.Image放在我的Flex4 AIR App中。Flex 4图像填充

我将它设置为x = 0,y = 0。 宽度= 100%,高度= 100%。

问题在于,我使用的源图像不适合整个应用程序屏幕。实际控件。图像覆盖整个屏幕,但控件中包含的源图像。图像不会填充整个控件。图像高度/宽度。

有没有什么办法来“填充”整个controls.Image与源? 我并不担心翘曲源图像,我只想填充整个controls.Image无论它的高度/宽度是多少。

我找不到这样做的工具..任何人推荐的提示?我找不到任何与“FillMode”或类似的相关内容,并且现在已经搜索了一段时间。

由于

回答

0

所有这些技巧被假设图像的空白部分是透明的。

- 您可以将图像放在BorderContainer中,并设置容器的背景颜色。

- 你可以创建一个特定宽度或高度的位图,然后填充背景颜色(我相信bitmap.fill)。然后将我们的图像位图数据复制到该图像上。

就我个人而言,我认为BorderContainer选项是最容易实现的。

3

如果“controls.Image”,你的意思是mx.controls.Image,这在技术上是一个Flex 3组件,而是适用于Flex的4.1和更早的版本,你要设置maintainAspectRatiofalse,并确保scaleContenttrue(其是默认值)。

在另一方面,如果你正在使用Flex“英雄” SDK(Flex 4.5中),它引入了一个原生火花图像组件(spark.components.Image),你需要设置scaleModeBitmapScaleMode.STRETCH,并确保fillMode设置到BitmapFillMode.SCALE(这是默认值)。

AS3文档:

mx.controls.Image (Flex 4.1 and earlier)

spark.components.Image (Flex 4.5 "Hero")