silverlight3中的3d效果,实际上是通过2d+算法模拟出来的"伪3D"(个人估计可能是考虑跨平台和显卡硬件支持通用性所以最终采用了这种设计)
上面演示了基本的3d效果,本质是通过将图片绕着x,y,z三个轴旋转产生
关键代码:
1 <Image Source="/3D;component/img/001.jpg" Grid.Row="0" Margin="30">
2 <Image.Projection>
3 <PlaneProjection RotationX="0" RotationY="0" RotationZ="0" x:Name="pp"></PlaneProjection>
4 </Image.Projection>
5 </Image>
1 private void xSliderX_ValueChanged(object sender, RoutedPropertyChangedEventArgs<double> e)
2 {
3 double x = (sender as Slider).Value;
4 this.pp.RotationX = x;
5 this.lblX.Content = x.ToString("F2");
6 }
至于3d应用,只是利用y轴旋转+clip属性,排出一个常用相册的UI界面(这种界面以后估计会在触摸屏上流行起来)
projection除了这里演示的3个参数外,另外还有9个参数可以调整,详情演示见
http://images.24city.com/jimmy/3d/