WEB开发网
开发学院图形图像Flash Silverlight 2 转换和剪辑区域 阅读

Silverlight 2 转换和剪辑区域

 2009-02-09 11:52:17 来源:WEB开发网   
核心提示: 图 7 3D 几何的旋转营造这种视觉效果的关键在于旋转图像的顶点要遵循假想的圆柱体所定义的轨迹,朝向用户倾斜的角度受名为 _aspect 的私有字段的控制,Silverlight 2 转换和剪辑区域(7),您可以通过增大 _aspect 的值来增加圆柱体的逼真程度,SpinAndZoom

图 7 3D 几何的旋转

营造这种视觉效果的关键在于旋转图像的顶点要遵循假想的圆柱体所定义的轨迹。朝向用户倾斜的角度受名为 _aspect 的私有字段的控制。您可以通过增大 _aspect 的值来增加圆柱体的逼真程度。

SpinAndZoom 还演示了如何实现另一种在 Silverlight 应用程序中常见的视觉效果:交互缩放。图 8 中所示的名为 OnMouseWheelTurned 的事件处理程序通过操控 ScaleTransform 指定的 ZoomScaleTransform 来响应鼠标滚轮的移动。该转换可缩放场景中的每个 XAML 对象。(可以尝试一下;将鼠标光标定位在场景中的任意位置然后前后滚动鼠标滚轮。)

Silverlight 2 转换和剪辑区域图 8 Page.xaml.cs 中的 OnMouseWheelTurned

private void OnMouseWheelTurned(Object sender, HtmlEventArgs args)
{
  double delta = 0;
  ScriptObject e = args.EventObject;
  if (e.GetProperty("wheelDelta") != null) // IE and Opera
  {
    delta = ((double)e.GetProperty("wheelDelta"));
    if (HtmlPage.Window.GetProperty("opera") != null)
      delta = -delta;
  }
  else if (e.GetProperty("detail") != null) // Mozilla and Safari
  {
    delta = -((double)e.GetProperty("detail"));
  }
  if (delta > 0)
  {
    if (ZoomScaleTransform.ScaleX < _max)
    {
      // Zoom in
      ZoomScaleTransform.ScaleX += 0.1;
      ZoomScaleTransform.ScaleY += 0.1;
    }
  }
  else if (delta < 0)
  {
    if (ZoomScaleTransform.ScaleX > _min)
    {
      // Zoom out
      ZoomScaleTransform.ScaleX -= 0.1;
      ZoomScaleTransform.ScaleY -= 0.1;
    }
  }
  if (delta != 0)
  {
    args.PreventDefault();
    e.SetProperty("returnValue", false);
  }
}

上一页  2 3 4 5 6 7 8 9 10  下一页

Tags:Silverlight 转换 剪辑

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接