Silverlight 2 转换和剪辑区域
2009-02-09 11:52:17 来源:WEB开发网此代码包括在下载内容中,并在图 6 中被引用。RotateTo 在其中扮演重要的角色,它由 MouseMove 处理程序调用,可根据鼠标光标的运动情况来增大或减小旋转角度。RotateTo 根据图 7 中所示的几何并通过一些技巧来计算 SkewTransform 和 ScaleTransform 参数。对于给定角度的旋转,RotateTo 会计算以紫色突出显示的三角形的宽度和内角(距离中心最近的角度)。宽度可告知 RotateTo 将 ScaleTransform 的 ScaleX 属性设置为何值,而角度则告知将 SkewTransform 的 AngleY 属性设置为何值。
图 6 Page.xaml.cs 中的 RotateTo
private void RotateTo(double angle)
{
double radians = (angle * Math.PI) / 180;
double scaleX = Math.Abs(Math.Cos(radians));
// Update the ScaleTransform
// Avoid ScaleX == 0 to prevent images from disappearing!
SpinScaleTransform.ScaleX = Math.Max(0.005, scaleX);
// Update the SkewTransform
if (angle != 90 && angle != 270) // Tangent undefined
{
double h = Math.Sin(radians) * _aspect;
double r = Math.Atan(h / scaleX);
if (angle > 90 && angle < 270)
r = -r;
SpinSkewTransform.AngleY = (r * 180) / Math.PI;
}
}
Tags:Silverlight 转换 剪辑
编辑录入:爽爽 [复制链接] [打 印]- ››silverlight全屏显示图片
- ››Silverlight MVVM 模式(一) 切近实战
- ››Silverlight for Windows Phone 7开发系列(1):...
- ››Silverlight for Windows Phone 7开发系列(2):...
- ››Silverlight for Windows Phone 7开发系列(3):...
- ››Silverlight for Windows Phone 7开发系列(4):...
- ››Silverlight for Symbian
- ››Silverlight3系列(四)数据绑定 Data Binding 1
- ››转换工具介绍
- ››silverlight2 游戏 1 你能坚持多少秒
- ››Silverlight开发实践--PicZoomShow
- ››Silverlight自定义控件开发 - 令人懊恼的OnApplyT...
更多精彩
赞助商链接