Flex中的Image屬性 (width, contentWidth, content.width)的差異

 

Flex是個包裹著糖衣的惡魔,其實這樣講是比較聳動啦,之所以會這樣講是因為Flex表面上看起來很容易,會很容易讓人家覺得元件拖一拖拉一拉就可以完成一隻程式,但是不論是哪種程式語言(就算是大家比較熟析的ASP.NET),基礎永遠是最重要的,所以再次提一次,要用Flex的話,ActionScript 3.0真的要好好學啊。

很多人大都搞不清楚Image的運作方式,對Flex中的Image元件這麼多屬性更是搞不清楚,所以利用一些時間來紀錄一下width, contentWidth和content.width有什麼不一樣。

 

我用最簡單的來說說明這件事,示範和較為原理的部分下次再寫。

  1. width和height是同一組的屬性,指的是Image的控制元件的寬和高,一般而言跟讀入的圖片沒有絕對關係,但是當Image元件沒有設定width和height屬性時,預設大小為讀入圖片的寬與高,需要注意的是complete事件並不會吐出正確的值,必須至少要等待到updateComplete事件才能讀取正確的資料。(該示範下次有時間再寫)
  2. contentWidth和contentHeight是同一組的屬性,指的是讀取圖片後的內容,在原廠的Help中寫道:』Width of the scaled content loaded by the control, in pixels.』,這句話是說contentWidth指的是縮放或調整後的圖片大小,若是在complete事件觸發時就是原始圖片的width或是height,反之在updateComplete事件觸發時,就是變更後的width或是height,這組屬性比較讓人造成誤會。
  3. content.width和content.height是屬於content同一組的屬性,content指的就是讀取圖片本身,而content.width和content.height就是圖片的widh和height屬性,complete事件觸發時就可以得到圖片原始大小,事後縮放並不會去影響該值。

這樣應該就可以解釋的很清楚了,每一種屬性有其使用方便的地方,你可以慎選適合的屬性來使用,這其實看示範跟繼承表會比較容易了解是怎麼一回事,先預告一下,會這樣的原因就在於Image繼承SwfLoader,而SwfLoader則是用Loader來實作出來的,若想要了解Loader可以參考Help或是看我書中的介紹,應該都蠻清楚的。

 

thanks: http://blog.riaproject.com/flex/254.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值