当前位置: 首页 > news >正文

深圳网站seo设计wordpress 页面 html

深圳网站seo设计,wordpress 页面 html,南昌新手网站建设费用,xml rpc wordpress说到对象的旋转#xff0c;或许就会联想到对象角度的概念。对象的旋转实现实际上就是利用对象的角度改变来实现的位置变换#xff0c;在《Silverlight Blend动画设计系列二#xff1a;旋转动画#xff08;RotateTransform#xff09;》一文中有对对象的不同角度变换…  说到对象的旋转或许就会联想到对象角度的概念。对象的旋转实现实际上就是利用对象的角度改变来实现的位置变换在《Silverlight Blend动画设计系列二旋转动画RotateTransform》一文中有对对象的不同角度变换的实现介绍本篇要介绍的自由旋转Free-form rotation将借助《Function Silverlight 3 Animation》一书中的示例项目介绍详细敬请阅读本文。     要实现自由旋转其实非常简单需要特别注意的有四点既旋转对象、旋转中心点、旋转角度及旋转焦点。可以简单理解为当点击对象上的某一点可以对对象实现其以某一中心点为准的不等角度旋转。为了方便控制通常会将旋转焦点设计为相对突出的UI呈现如下图示               上图的UI外观设计为一个独立的UserControl对应的xaml定义如下 UserControl x:ClassImageRotate.RotateItem    xmlnshttp://schemas.microsoft.com/winfx/2006/xaml/presentation     xmlns:xhttp://schemas.microsoft.com/winfx/2006/xaml     Width320 Height240    Canvas x:NameItemCanvas Width320 Height240 Canvas.Left77 Canvas.Top57 Background#FFFFFFFF     RenderTransformOrigin0.5,0.5        Canvas.RenderTransform            TransformGroup                RotateTransform x:NameRotateItemCanvas Angle0/            /TransformGroup        /Canvas.RenderTransform                Image x:NameImage Width300 Height220 Canvas.Left10 Canvas.Top10 Source StretchFill/        Ellipse x:NameHandle Width15 Height15 Fill#FFEAFF00 Stroke#FF000000 Canvas.Left313 Canvas.Top233/    /Canvas/UserControl     分析上面的xaml可以知道整个界面通过基于坐标的Canvas进行布局默认设置布局容器的旋转角度为0度在Canvas里面放置了一个图片作为可旋转的对象外观呈现一个圆形作为旋转焦点。最终实现旋转功能的就是鼠标在Ellipse对象上的事件应用通过事件处理函数来改变整个布局容器的旋转角度Angle。  private bool IsMouseCaptured;private Point MousePosition;private Point LastPosition;public Point CanvasCenter;private double LastAngle;private double CurrentAngle;private double AngleDelta;public RotateItem(){    InitializeComponent();    //注册Ellipse对象的鼠标事件    Handle.MouseLeftButtonDown  new MouseButtonEventHandler(Handle_MouseLeftButtonDown);    Handle.MouseLeftButtonUp  new MouseButtonEventHandler(Handle_MouseLeftButtonUp);    Handle.MouseMove  new MouseEventHandler(Handle_MouseMove);}private void Handle_MouseLeftButtonUp(object sender, MouseButtonEventArgs e){    FrameworkElement Item  sender as FrameworkElement;    Item.ReleaseMouseCapture();    IsMouseCaptured  false;    Item.Cursor  null;}private void Handle_MouseLeftButtonDown(object sender, MouseButtonEventArgs e){    FrameworkElement Item  sender as FrameworkElement;    Item.CaptureMouse();    Item.Cursor  Cursors.Hand;    IsMouseCaptured  true;    LastPosition  e.GetPosition(null);}     最关键的就是MouseMove事件了在MouseMove事件处理函数中通过计算鼠标点下时的坐标和当前所在的坐标进行弧度转化角度的计算将得到的角度值设置为Canvas的旋转角度就达到了实现对象的自由旋转功能。              以下为弧度转化为角度的计算公式以及MouseMove事件算法实现 /// summary/// 弧度转化为角度/// /summary/// param nameRadians/param/// returns/returnsprivate double RadiansToDegrees(double Radians){    return Radians * 180 / Math.PI;}   private void Handle_MouseMove(object sender, MouseEventArgs e){    MousePosition  e.GetPosition(null);    if (IsMouseCaptured)    {        LastAngle  Math.Atan2(LastPosition.Y - CanvasCenter.Y, LastPosition.X - CanvasCenter.X);        CurrentAngle  Math.Atan2(MousePosition.Y - CanvasCenter.Y, MousePosition.X - CanvasCenter.X);        AngleDelta  CurrentAngle - LastAngle;        RotateItemCanvas.Angle  RadiansToDegrees(AngleDelta);        LastPosition  MousePosition;    }}   可旋转UserControl完整代码 public partial class RotateItem : UserControl{    private bool IsMouseCaptured;    private Point MousePosition;    private Point LastPosition;    public Point CanvasCenter;    private double LastAngle;    private double CurrentAngle;    private double AngleDelta;    public RotateItem()    {        InitializeComponent();        Handle.MouseLeftButtonDown  new MouseButtonEventHandler(Handle_MouseLeftButtonDown);        Handle.MouseLeftButtonUp  new MouseButtonEventHandler(Handle_MouseLeftButtonUp);        Handle.MouseMove  new MouseEventHandler(Handle_MouseMove);    }    private void Handle_MouseLeftButtonUp(object sender, MouseButtonEventArgs e)    {        FrameworkElement Item  sender as FrameworkElement;        Item.ReleaseMouseCapture();        IsMouseCaptured  false;        Item.Cursor  null;    }    private void Handle_MouseLeftButtonDown(object sender, MouseButtonEventArgs e)    {        FrameworkElement Item  sender as FrameworkElement;        Item.CaptureMouse();        Item.Cursor  Cursors.Hand;        IsMouseCaptured  true;        LastPosition  e.GetPosition(null);    }    private void Handle_MouseMove(object sender, MouseEventArgs e)    {        MousePosition  e.GetPosition(null);        if (IsMouseCaptured)        {            LastAngle  Math.Atan2(LastPosition.Y - CanvasCenter.Y, LastPosition.X - CanvasCenter.X);            CurrentAngle  Math.Atan2(MousePosition.Y - CanvasCenter.Y, MousePosition.X - CanvasCenter.X);            AngleDelta  CurrentAngle - LastAngle;            RotateItemCanvas.Angle  RadiansToDegrees(AngleDelta);            LastPosition  MousePosition;        }    }            /// summary    /// 弧度转化为角度    /// /summary    /// param nameRadians/param    /// returns/returns    private double RadiansToDegrees(double Radians)    {        return Radians * 180 / Math.PI;    }}     使用也是非常简单的动态创建上面所创建的UserControl然后将其添加到主容器控件中就可以了如下演示代码   public partial class MainPage : UserControl{    public MainPage()    {        InitializeComponent();        var Picture1  new RotateItem();        Picture1.Image.Source  new BitmapImage(new Uri(Marigold.jpg, UriKind.Relative));        Picture1.SetValue(Canvas.LeftProperty, 100.00);        Picture1.SetValue(Canvas.TopProperty, 100.00);        Picture1.CanvasCenter.X  (double)Picture1.GetValue(Canvas.LeftProperty)  Picture1.Width / 2;        Picture1.CanvasCenter.Y  (double)Picture1.GetValue(Canvas.TopProperty)  Picture1.Height / 2;        Picture1.RotateItemCanvas.Angle  -15;        LayoutRoot.Children.Add(Picture1);    }}                 推荐资源   Silverlight Blend动画设计系列文章   《Function Silverlight 3 Animation》----本篇中使用的示例素材选自此书        版权说明   本文属原创文章欢迎转载且注明文章出处其版权归作者和博客园共有。     作      者Beniao  文章出处http://beniao.cnblogs.com/  或  http://www.cnblogs.com/  转载于:https://www.cnblogs.com/beniao/archive/2010/06/20/1735898.html
http://www.zqtcl.cn/news/334493/

相关文章:

  • 张家界做网站洛阳网站建设哪家专业
  • 快餐网站模板电子版邀请函制作软件免费
  • 有什么做视频的素材网站网站名称注册保护
  • 北京 顺义 网站制作h5网站网站建设
  • 网站在百度上搜不到了wordpress导航菜单加图片
  • wordpress网站访问慢网站建设35类
  • 绍兴做网站价格字体
  • asp.net网站开发实训可以不花钱做网站吗
  • 北京网站的制作设计服务器和电脑主机的区别
  • 北京网站建设的服务公司凡科网站 怎么开支付
  • 包头公司做网站知名做网站费用
  • 安徽网站建设服务平台重庆网站建公司大全
  • 有什么网站可以做中间人的相城区建设局网站
  • 房屋装修在线设计网站百度联盟广告怎么屏蔽
  • 网站,商城,app+建设域名网址注册
  • 肥西做网站设计网页页面
  • 怎样做百度推广网站iis服务器的默认网站
  • 东莞建设工程交易中心门户网站湖南设计网站机构
  • 做网站在网站建设客户
  • 河北建设厅安监站官方网站一个新手怎么做电商
  • 做结婚请柬网站有那些做网店哪个网站好
  • 做网站尽在美橙互联欧美简约风格网站设计
  • idea建设完整的网站微官网下载
  • 阿城区建设小学网站上海建设行政主管部门政务网站
  • 西丽网站建设网站怎样做才能有点击率
  • 网站建设图片大小建设部网站1667号公告
  • 做wps的网站赚钱网站建设中网站图片如何修改
  • 公司招商型网站建设怎么自己做网站挣钱
  • 红酒手机网站建设中视频自媒体注册
  • 免费网站2022年能用的网址青阳网站建设