<Canvas Background="#CdfcAE"> <Image Source="a1.png" Canvas.left="120" Canvas.top="50" Opacity="0.3"> </Image> <Image Source="a1.png" Canvas.left="120" Canvas.top="50" Opacity="0.5"> <Image.Rendertransform> <Matrixtransform> <Matrixtransform.Matrix> <Matrix OffsetX="0" OffsetY="0" M12="0.2"></Matrix> </Matrixtransform.Matrix> </Matrixtransform> </Image.Rendertransform> </Image> <Image Source="a1.png" Canvas.left="120" Canvas.top="50"> <Image.Rendertransform> <Matrixtransform> <Matrixtransform.Matrix> <Matrix OffsetX="0" OffsetY="0" M12="0.4"></Matrix> </Matrixtransform.Matrix> </Matrixtransform> </Image.Rendertransform> </Image></Canvas>运行后效果如下: 实现动画变换 transform与Silverlight中的Storyboard结合,可以很容易的实现出动画变换的效果,如下面的例子,当鼠标放在上去的时候,图片开始旋转;鼠标离开时停止旋转:
<Canvas Background="#CdfcAE"> <Canvas.Resources> <Storyboard x:name="myStoryboard"> <DoubleAnimation Storyboard.Targetname="mytransform" Storyboard.TargetProperty="Angle" From="0" To="180" Duration="0:0:5" RepeatBehavior="Forever" /> </Storyboard> </Canvas.Resources> <Image x:name="imgTarget" Source="a1.png" Canvas.left="180" Canvas.top="80" MouseEnter="imgTarget_MouseEnter" MouseLeave="imgTarget_MouseLeave"> <Image.Rendertransform> <Rotatetransform x:name="mytransform" Angle="15" CenterX="120" CenterY="68" /> </Image.Rendertransform> </Image></Canvas>在代码中控制Storyboard:
private voID imgTarget_MouseEnter(object sender,MouseEventArgs e){ myStoryboard.Begin();}private voID imgTarget_MouseLeave(object sender,MouseEventArgs e){ myStoryboard.Stop();}运行后效果如下: 当鼠标放上后将开始旋转: 用代码控制变换 这个话题其实没什么好讲的,在后台代码中对transform进行控制,如下面的例子,每次点击图片时,都让Rotatetransform的角度增加15度:
<Canvas Background="#CdfcAE"> <Image Source="a1.png" Canvas.left="180" Canvas.top="80" Opacity="0.3"> </Image> <Image x:name="imgTarget" Source="a1.png" Canvas.left="180" Canvas.top="80" MouseleftbuttonDown="imgTarget_MouseleftbuttonDown"> <Image.Rendertransform> <Rotatetransform x:name="mytransform" Angle="0" CenterX="120" CenterY="68" /> </Image.Rendertransform> </Image></Canvas>后台代码:
private voID imgTarget_MouseleftbuttonDown(object sender,MousebuttonEventArgs e){ mytransform.Angle = mytransform.Angle + 15;}运行后起始界面如下: 当单击之后将会旋转: 结束语 本文为使用transform实现更炫的效果第二部分,介绍了矩阵变换以及如何实现动画变换、在代码中控制变换,接下来我将会运用前面几篇关于图形图像处理的知识写一个综合实例。 本文出自 “ TerryLee技术专栏” 博客,请务必保留此出处 [url]http://terrylee.blog.51cto.com/342737/67282[/url] 本文出自 51CTO.COM技术博客 总结
以上是内存溢出为你收集整理的一步一步学Silverlight 2系列(30):使用Transform实现更炫的效果(下)全部内容,希望文章能够帮你解决一步一步学Silverlight 2系列(30):使用Transform实现更炫的效果(下)所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)