1

嗨,我有一个显示产品详细信息的弹出窗口,我想显示与产品名称相同的文件夹中的图片 - 例如:

...
imageName  = "pca" + this._product.productID;
...

我的问题是如何使用 imageName + .jpeg 显示图像

这样做可行,但我需要能够用变量替换图像名称 - 动态:

    <mx:Image name="testImg" width="100%" height="100%" source="file:///C|/MultimediaSync/pictures/pca98694E000.jpg">
    </mx:Image>

我想做的是这样的,但它不起作用:

<mx:Image name="testImg" width="100%" height="100%" source="file:///C|/MultimediaSync/pictures/&imageName">
    </mx:Image>

我被困在这里的语法上……可能是一个简单的,但我是 as3/Flex 的新手

4

3 回答 3

2

首先定义一个类绑定你需要的图像。然后可以检索、编码(使用编码器)图像的位图并将其分配给 mx.controls.Image 实例的源属性。

图像形成后,可以将其作为子对象添加到画布中。或者,如果源属性绑定到从类实例获得的编码数据,它应该可以工作。我遇到了同样的问题,第一个解决方案对我有用。以下是我的参考。

http://shyarmal.blogspot.com/2012/12/flex-displayable-image-from-image.html

于 2012-12-24T12:23:49.673 回答
1

将您的标记imageNameBindable

[Bindable]
private var imageName:String;

然后在源代码中使用大括号{}

<mx:Image name="testImg" width="100%" height="100%" 
    source="file:///C|/MultimediaSync/pictures/{imageName}">
</mx:Image>

每当您更改imageName变量时,source将分别更新。

于 2012-07-18T17:30:23.530 回答
1

如果您的变量具有完整的图像路径,那么您必须为图像分配一个 ID

<mx:Image **id="testImage"** name="testImg" width="100%" height="100%" source="file:///C|/MultimediaSync/pictures/&imageName">
</mx:Image>

[1] 您可以分配一个像

testImage.Source=imageName;

并在每次您的 imageName 变量 chagen 时调用。

[2] 确保您的变量必须是[Binadable]. 根据上面的答案。

希望您的问题会得到解决...

于 2012-07-18T18:10:25.617 回答