`

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

    博客分类:
  • flex
阅读更多

 

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

分享到:
评论

相关推荐

    页面转pdf所需js(html2canvas.js和jsPdf.debug.js)下载(2)

    var contentWidth = canvas.width; var contentHeight = canvas.height; //一页pdf显示html页面生成的canvas高度; var pageHeight = contentWidth / 592.28 * 841.89; //未生成pdf的html页面高度 var ...

    页面转pdf所需js(html2canvas.js和jsPdf.debug.js)下载(1)

    var contentWidth = canvas.width; var contentHeight = canvas.height; //一页pdf显示html页面生成的canvas高度; var pageHeight = contentWidth / 592.28 * 841.89; //未生成pdf的html页面高度 var ...

    html2canvas.js jspdf.debug.js

    var contentWidth = canvas.width; var contentHeight = canvas.height; //一页pdf显示html页面生成的canvas高度; var pageHeight = contentWidth / 592.28 * 841.89; //未生成pdf的html页面高度 var ...

    PageHeight-crx插件

    获取页面底部的位置。 显示用户在页面上向下滚动了多少UPDATE 0.0.2-添加了新图标-单击图标后,您可以轻松禁用或启用扩展名UPDATE 0.0.3 -new更新 支持语言:English

    【JavaScript源代码】Vue实现随机验证码功能.docx

    本文实例为大家分享了Vue实现随机验证码功能的具体代码,供大家参考,具体内容如下 步骤1:创建一个名为identify.vue的子组件 <template> <div class="s-canvas"> <canvas id="s-canvas" :width="contentWidth" ...

    【JavaScript源代码】vue实现登录时的图片验证码.docx

     本文实例为大家分享了vue实现登录时的图片验证码的具体代码,供大家参考,具体内容如下 效果图 <template> <div class="s-canvas"> <canvas id="s-canvas" :width="contentWidth" :height="contentHeight">...

    【JavaScript源代码】vue实现登录验证码.docx

    供大家参考,具体内容如下 先来demo效果图 canvas验证码组件(可直接复制,无需改动) <template> <div class="s-canvas"> <canvas id="s-canvas" :width="contentWidth" :height="contentHeight"></canvas> ...

    vue+element-ui集成随机验证码+用户名+密码的form表单验证功能

    在登入页面,我们往往需要通过输入验证码才能进行登入,那我们下面就详讲一下在... <canvas id=s-canvas width=contentWidth height=contentHeight> [removed] export default { name: 'SIdentify', props: { i

    scene.js:用于在浏览器中为图像序列和 spritesheet 设置动画的 JavaScript 库

    场景.js什么是 Scene.js Scene.js 是一个 JavaScript 库,... SPRITE , "/img/static/table-x411-y250.png" , {contentWidth : 137 ,contentHeight : 208} ) ;scene . add ( Scene . MOVIE_CLIP , data , {contentWidt

    dmc-gestures:Corona SDK 的手势识别器库

    在 repo 目录examples中可以找到两者的examples 。 简单的手势处理 此示例仅显示手势事件: -- setup some constants to make placement easier local W, H = display. contentWidth , display. contentHeight ...

    Vue 实现登录界面验证码功能

    <canvas id=s-canvas width=contentWidth height=contentHeight> [removed] export default { name: 'SIdentify', props: { identifyCode: { type: String, default: '1234' }, fontSizeMin: { ty

    vue随机验证码组件的封装实现

    本文实例为大家分享了vue随机验证码组件的具体代码,供大家参考,具体内容如下 由于工作需要自己做了一个验证码组件,... <canvas xss=removed width=contentWidth height=contentHeight id=cav click=next()> <

    vue实现登录页面的验证码以及验证过程解析(面向新手)

    <canvas id=s-canvas width=contentWidth height=contentHeight> [removed] export default{ name: 'SIdentify', props: { identifyCode: { // 默认注册码 type: String, default: '1234' }, fon

    jScrollPane-master

    11、contentWidth:滚动区域的宽度,一般不要设置,该插件会根据内容实际宽度计算,默认undefined; 12、animateScroll:当调用scrollTo 或者scrollBy的时候,设置一个动画效果,包括时长duration和渐变ease,默认...

Global site tag (gtag.js) - Google Analytics