BitmapImage和Image组件不显示加载的位图?

时间:2013-01-07 13:35:13

标签: actionscript-3 flex air flex4.5

[Bindable]
protected var bmp : Bitmap = new Bitmap();
...

var loader : Loader = new Loader();
    loader.contentLoaderInfo.addEventListener( Event.COMPLETE, onComplete );
    loader.load( new URLRequest( fileObj.url ) );

function onComplete( event : Event ) : void
{
    trace( Bitmap( LoaderInfo( event.target ).content ).bitmapData.height );

    bmp = ( new Bitmap( Bitmap( LoaderInfo( event.target ).content ).bitmapData ) ) ;

}
...

<s:BitmapImage id="cameraSource" width="100%" height="100%" source="{ bmp }" scaleMode="stretch" />

我正在使用此源代码加载localy存储的图像文件。 它加载正常,但由于某些原因没有显示。

  • 为什么以下源代码不显示加载的图像?

//测试了Flex 4.6和Flex 4.8,移动AIR应用程序

2 个答案:

答案 0 :(得分:2)

最好的猜测是你的绑定没有触发更新,尝试直接分配属性

cameraSource.source = bmp; //at the end of onComplete

这个或BitmapImage的容器限制了它的大小,你也可以尝试临时设置文字显式像素大小而不是百分比。

答案 1 :(得分:1)

似乎我的错是没有充分解释这种情况。 整个事物被移动到视图中,但是一旦按下浏览图片视图,它就会将数据销毁到当前视图中。

以下代码行正在修复所有内容

destructionPolicy="never"