首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 平面设计 > 图形图像 >

Flex中获得Image图像原始大小

2012-10-26 
Flex中取得Image图像原始大小我觉得用ChangeWatcher也很简单,适用于Embed引入的图片例如:var cw:ChangeWat

Flex中取得Image图像原始大小

我觉得用ChangeWatcher也很简单,适用于Embed引入的图片例如:

var cw:ChangeWatcher = ChangeWatcher.watch(img, "width",   CompletePicLoad);//cw.unwatch(); 取消 private function CompletePicLoad(event:Event):void {   var img:Image=event.target as Image; trace("CompletePicLoad  Width="+img.width);  }

?

另外还有一种方法,使用于url引用的图片?

转自:http://blog.163.com/cityrock@126/blog/static/9823133920100844132572/

?

?

在程序启动后,以Img.load方法载入一个远程传递过来的图像的byte[]数组,随后通过网上的一些流行说法说是在图像的载入完成后捕获 creationComplete事件并获取image的contentwidth和contentheight值即可;实际上,多数情况下这种做法是失败的,比如当前Image的width和Height属性均为自适应宽高度,值均为"100%",那么你按照上面说法取到的数值永远都是当前包含 Image的容器的宽高值,这个问题困扰了我很久,很久很久,烧了香拜了佛,求了高人、问了google还是没有解决。最终还是自己解决了,方法超简单如下:

//先给image对象添加捕获载入完成的事件方法,这一步照上面是没有错的,

img.addEventListener(Event.COMPLETE,CompletePicLoad);

。。。

而在事件代码中,只需要重新定义一个未指定比例变化的Image对象,且不需要添加到显示中,去访问该Image的属性即可。

??private function CompletePicLoad(event:Event):void

{ //图片载入完成.
???var img:Image = event.target as Image;?
???trace(img.contentWidth);
???lblh.text = img.contentHeight.toString();
}

这其中的img.contentWidth和img.contentHeight就是被载入图片的真实尺寸。

?

?

?

?

热点排行