IE 滤镜实现图片旋转效果

来源:互联网 发布:购买域名后需要备案吗 编辑:程序博客网 时间:2024/05/18 13:05


IE滤镜可以实现页面上各种复杂的特效,如半透明、阴影、投影、遮罩、模糊、渐变、波浪、图片翻转等效果。

通过特性值filer定义一组类似函数调用的字符串来实现。如在HTML元素中定义:

<ELEMENT STYLE="filter: progid:DXImageTransform.Microsoft.filtername(sProperties)" >

以下是实现图片旋转效果的例子:

第一种方法:BasicImage

filter:progid:DXImageTransform.Microsoft.BasicImage(rotation=3)

在上面的语句中,括号里面的rotation=3为设置的旋转角度,这里的参数可以是0,1,2,3,依次表示不旋转,旋转90度、180度和270度。

详细可以参考官网说明:http://msdn.microsoft.com/en-us/library/bb554293(v=vs.85).aspx

局限性:只能旋转3个角度,不能任意旋转。

解决办法:采用IE滤镜中的另一个方法矩阵:Matrix

======================================================================

第二种方法:Matrix

filter:progid:DXImageTransform.Microsoft.Matrix(sProperties)

其中的sProperties取值可以有以下一些参数:

M11,M12,M21,M22---矩阵的相关值

SizingMethod----设置或获取一个值,指示是否容器大小以适应生成图像(可取值auto expend)

详情参见:http://msdn.microsoft.com/en-us/library/ms533014(v=vs.85).aspx

如:

filter:progid:DXImageTransform.Microsoft.Matrix(M11=0.5,M12=-0.866,M21=0.866,M22=0.5,SizingMethod='auto expand');

而矩阵4个值得计算方法如下:
假如需要旋转的角度为60度。即rotation=60,则计算如下:

M11=  cos(rotation)=cos(60)=0.5

M12= -sin(rotation) = -sin(60) = -0.886

M21=  sin(rotation) = sin(60) =0.886

M22 = -cos(rotation) = -cos(60) = -0.5

则对于的表达式为:

filter:progid:DXImageTransform.Microsoft.Matrix(M11=0.5,M12=-0.866,M21=0.866,M22=0.5,SizingMethod='auto expand');





0 0