zoukankan      html  css  js  c++  java
  • 滚轮缩放效果

            public void MouseWheelEventHandler(object sender, MouseWheelEventArgs e)
            {
                double oldScalX = ((ScaleTransform)canvas.RenderTransform).ScaleX;
                double oldScalY = ((ScaleTransform)canvas.RenderTransform).ScaleY;
    
                var storyBoard = new Storyboard();
                //var group = new TransformGroup();
                //var scale = new ScaleTransform(1.5, 1.5);
                //group.Children.Add(scale);
                //group.Children.Add(new TranslateTransform(300, 300));
                //canvas.RenderTransform = group;
    
                RegisterName("MainCanvas", canvas);
    
                var growAnimation = new DoubleAnimation();
                QuinticEase ee = new QuinticEase();
                ee.EasingMode = EasingMode.EaseOut;
                growAnimation.EasingFunction = ee;
    
                growAnimation.From = oldScalX;
                if (e.Delta > 0)
                {
                    growAnimation.To = oldScalX + 0.2;
                }
                else
                {
                    growAnimation.To = oldScalX - 0.2;
                }
                storyBoard.Children.Add(growAnimation);
    
                var growAnimation2 = new DoubleAnimation();
                QuinticEase ee2 = new QuinticEase();
                ee2.EasingMode = EasingMode.EaseOut;
                growAnimation2.EasingFunction = ee2;
                growAnimation2.From = oldScalY;
                if (e.Delta > 0)
                {
                    growAnimation2.To = oldScalY + 0.2;
                }
                else
                {
                    growAnimation2.To = oldScalY - 0.2;
                }
                storyBoard.Children.Add(growAnimation2);
    
    
                Storyboard.SetTargetProperty(growAnimation, new PropertyPath("RenderTransform.ScaleX"));
                Storyboard.SetTargetProperty(growAnimation2, new PropertyPath("RenderTransform.ScaleY"));
                Storyboard.SetTargetName(growAnimation, "MainCanvas");
                Storyboard.SetTargetName(growAnimation2, "MainCanvas");
                storyBoard.Begin(this);
    
    
            }

    添加事件代码

            private void UserControl_Loaded_1(object sender, RoutedEventArgs e)
            {
                Window.GetWindow(this).MouseWheel += MouseWheelEventHandler;
            }
  • 相关阅读:
    OpenAL播放pcm或wav数据流-windows/ios/android(一)
    Windows录音API学习笔记--转
    Windows基础-实时录音程序(WaveXXX)
    Windows基础-使用XAudio2播放音频(本质是WASAPI)
    XAudio2播放PCM
    jps的用法及常见问题介绍
    eureka添加security验证之后,client注册失败
    Maven中央仓库地址大全,Maven中央仓库配置示例
    Maven入门指南:仓库
    Maven中央仓库地址
  • 原文地址:https://www.cnblogs.com/wangjixianyun/p/3751778.html
Copyright © 2011-2022 走看看