我正在编写一个Flex应用程序来从httpservice接收xml。这是有效的,因为我可以使用信息填充数据网格。 xml发送图像路径名。组合框发送一个新的HttpService调用onChange。这会重新填充datagrid并将新图像放入flex正在访问的文件夹中。
我想动态更改图像而不更改图像的路径名。
<mx:Canvas id="borderCanvas"><mx:Canvas id="dropCanvas">
<mx:Tile id="adTile"><mx:Image></mx:Image>
</mx:Tile></mx:Canvas></mx:Canvas>
这是我的组件。 我使用以下代码分配我的图像源:
var i:Number = 0;
while ( i <= dg_conads.rowCount){
var img:Image = new Image();
img.source = null;
img.source = imageSource+i+".jpg";
adTile.addChild(img);
i++; }
我最大的问题是图像不清爽。即使我阻止了HTML包装器和ASP.Net网站的缓存,我也得到了相同的图像。图像会自动加载到文件夹中并在文件夹中刷新,但我无法在应用程序中刷新图像。 我试过removeAllChildren();删除(adTile.getChildAt(0));并没有奏效。
答案 0 :(得分:0)
我会尝试使用:
img.load(imageSource + i + ".jpg");
如果这不起作用,请尝试在末尾附加一个随机数,即:
img.source = imageSource + i + ".jpg?" + Math.random();
答案 1 :(得分:0)
您是否曾尝试将id =“img”直接添加到mx:Image标记中并删除adTile.addChild(img); 在剧本中?