加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

Flex中取得Image图像原始大小

发布时间:2020-12-15 04:36:49 所属栏目:百科 来源:网络整理
导读:我觉得用ChangeWatcher也很简单,适用于Embed引入的图片例如: var cw:ChangeWatcher = ChangeWatcher.watch(img,"width",CompletePicLoad);//cw.unwatch(); 取消 private function CompletePicLoad(event:Event):void { var img:Image=event.target as Imag

我觉得用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就是被载入图片的真实尺寸。

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读