0

我有一个控件。我将其放入我的 Flex4 AIR 应用程序中。

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

问题在于我使用的源图像不适合整个应用程序屏幕。实际的controls.Image 覆盖了整个屏幕,但是controls.Image 中包含的源图像并没有填满整个controls.Image 的高度/宽度。

有没有办法用源“填充”整个控件。图像?我不担心扭曲源图像,我只想填充整个控件。无论它的高度/宽度是多少。

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

谢谢

4

2 回答 2

3

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

另一方面,如果您使用的是 Flex 'Hero' SDK (Flex 4.5),它引入了原生 spark 图像组件 ( spark.components.Image),则需要设置scaleModeBitmapScaleMode.STRETCH,并确保fillMode设置为BitmapFillMode.SCALE(这是默认值) .

AS3 文档:

mx.controls.Image(Flex 4.1 及更早版本)

spark.components.Image(Flex 4.5“英雄”)

于 2011-03-21T18:51:10.653 回答
0

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

- 你可以把你的图像放在一个 BorderContainer 中,并设置容器的背景颜色。

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

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

于 2011-03-21T14:55:26.403 回答