国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 開發 > CSS > 正文

IE矩陣Matrix濾鏡旋轉與縮放及如何結合transform

2024-07-11 08:36:43
字體:
來源:轉載
供稿:網友

一、Matrix濾鏡簡介
基本語法如下:


filter: progid:DXImageTransform.Microsoft.Matrix( enabled= bEnabled , SizingMethod= sMethod , FilterType= sType , Dx= fDx , Dy= fDy , M11= fM11 , M12= fM12 , M21= fM21 , M22= fM22 )

其中參數多多,而且名稱稀奇古怪的,很容易嚇著新手。所以我干脆直接簡化了下,把與實現旋轉與縮放功能不相關的不需要關系的參數全部一腳踹掉,于是有:


filter: progid:DXImageTransform.Microsoft.Matrix( SizingMethod= sMethod , M11= fM11 , M12= fM12 , M21= fM21 , M22= fM22 )

其中SizingMethod這里死活就是"auto expand"了,也就是說我們要實現元素的旋轉與縮放只要關心M11, M12, M21, M22,這幾個參數就是2×2矩陣中的的四個數值。雖然大學中學過線性代數還考了90多分,但是幾年不碰都已經還給老師了,所以這幾個參數如何實現拉伸我也是不清楚的。但是,幸好實現旋轉以及縮放效果我們不需要知道的太多,我們只需要套用下面的格式就可以了。


filter:progid:DXImageTransform.Microsoft.Matrix(M11=cos(roation),M12=-sin(roation),M21=sin(roation),M22=cos(roation),SizingMethod=’auto expand’);

只要把你需要旋轉的角度將上面的roation值代替并計算出來就可以了,這個在“圖片旋轉效果的一些研究、jQuery插件及實例” 一文中已經有過介紹了,這里就不贅述了。現在來看看如何實現比例的縮放。
如同變魔術般,一旦知道了原理就覺得很一般。同樣的這里實現比例的改變也非常簡單。就是將M11, M12, M21, M22的每個值分別乘以你希望縮放的比例就可以了。
例如,您想要把一個元素只是單純的旋轉135度的話直接就是(cos(135) = -0.707):


filter:progid:DXImageTransform.Microsoft.Matrix(M11=-0.707,M12=-0.707,M21=0.707,M22=-0.707,SizingMethod=’auto expand’);}

但是,同時你希望元素還放大兩倍,那該怎么辦呢,很簡單,M11, M12, M21, M22同時乘以2就可以了,也就是:


filter:progid:DXImageTransform.Microsoft.Matrix(M11=-1.414,M12=-1.414,M21=0.1.414,M22=-1.414,SizingMethod=’auto expand’);}

很簡單吧。這就是IE矩陣濾鏡Matrix下旋轉與縮放的實現。

二、與CSS3 transform的結合
CSS3 transform中有旋轉(ratate)和縮放(scale)屬性,詳細可參見“CSS3 Transitions, Transforms和Animation使用簡介與應用展示”一文。
例如實現上面所說的旋轉135度,同時放大2倍的效果代碼應該是:


transform:rotate(135deg) scale(2);

于是,我們將IE的Matrix濾鏡和CSS3的transform屬性結合舊可以實現絕大多數瀏覽器的元素旋轉與縮放效果了。現在有個問題是Matrix濾鏡的使用與計算,你說我要是旋轉個75度,難道還要打開計算器去計算嗎,而且filter后面長得很深奧的字符語法讓人不容易記住,很折騰人的。這個問題已經有人想到了,在American,有兩位前端開發者Zoltan Hawryluk 和Zoe Mickley Gillenwater就這個問題寫了個工具,專門講CSS3中簡單易懂的transform屬性值轉換成IE的Matrix濾鏡表示形式,此工具地址是:http://www.useragentman.com/IETransformsTranslator/。直接點擊頁面上“Translate to IE Matrix”這個按鈕就好了,如下圖:

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 灯塔市| 富民县| 闻喜县| 项城市| 阿拉善右旗| 乳山市| 宜昌市| 白朗县| 正镶白旗| 鹤壁市| 四子王旗| 娱乐| 调兵山市| 洪湖市| 松潘县| 尉氏县| 平乡县| 永平县| 京山县| 丰原市| 视频| 微山县| 日喀则市| 永嘉县| 永仁县| 芜湖市| 遂平县| 茶陵县| 界首市| 兴业县| 井研县| 荆州市| 若羌县| 社旗县| 神农架林区| 大冶市| 六枝特区| 黔西| 清水河县| 桦南县| 辽阳市|