滚轮缩放效果


        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;
}

时间: 2024-07-29 09:08:37

滚轮缩放效果的相关文章

正交相机下实现滚轮按钮拖动,滚动滚轮缩放的功能

实现了一个功能,鼠标滚轮键按下可以拖动视野内的物体全体(其实是相机自己在移动),滚动滚轮可以缩放内容(其实是改变相机视野大小) 效果如下 代码奉上 1 using UnityEngine; 2 using UnityEngine.UI; 3 4 /// <summary> 5 /// 挂载在主相机上 6 /// </summary> 7 public class Cont : MonoBehaviour 8 { 9 private new Camera camera; 10 pri

jQuery实现的图片等比例缩放效果

jQuery实现的图片等比例缩放效果:如果一个容器中放一个比容器还要大的图,那就可能就造成布局出现问题,就算是不容器大,有时候也看起来不够美观,这时候就要限制图片的尺寸,当然不能变形,否则就难看了,下面就介绍一下如何使用jQuery实现等比例缩放效果.代码如下: <div id="demo"> <img src="a.jpg" width="800" height="300" alt="图片&quo

Lightbox改造——支持滚轮缩放

在做文章类型的web页时,经常会遇到要点开看大图的需求,LightBox2则是在众多产品中比较优秀的一款Jquery插件.配置就不细说了,今天我主要要分享的是:如何在点开大图后,可以通过鼠标滚轮来缩放图片,下面是一个简单的指引: 1.修改Lightbox源码使支持滚轮缩放 2.修改Lightbox源码使图片的源可支持base64格式 3.如何将Lightbox应用到已有的文章 1.修改Lightbox源码使支持滚轮缩放 支持鼠标滚轮主要就是把弹出后的框整个绑定上mousewheel事件,打开li

Cocos2dx 小技巧(十四)ScrollView实现缩放效果

这阶段心绪比較乱,所以这篇开头就不扯淡了.(谁说大姨夫来了我跟谁急!~~)说到大姨夫我突然想到英雄联盟有个美女讲解叫伊芙蕾亚,她的堂弟ID居然叫:姨夫累呀,好笑吧(呵呵,有点冷~~额,我都说不扯淡了).------------前天有个网友问我一些关于scrollView的使用方法,因为在QQ上实在讲不清,所以就利用晚上的时间写这篇博客出来了.本篇要实现的功能是用scrollView 拖动对象时,对象移动到某个固定范围会有放大.缩小的效果.以下開始.在进入正题前我先简短的介绍下scrollView

Engine中如何实现鼠标滚轮缩放反置?

来自:http://zhihu.esrichina.com.cn/?/question/6666 [解决办法]:1,禁用IMapControl的默认鼠标滚轮事件.即设置IMapControl4.AutoMouseWheel= false:2,重写鼠标滚轮事件.比如在Form1_Load函数中加上this.MouseWheel += new System.Windows.Forms.MouseEventHandler(axMapControl1_OnMouseWheel);然后重写private

java实现的图片缩放 压缩 裁剪工具!找了很久,市面上再也找不到比它缩放效果还好的代码了

原文:java实现的图片缩放 压缩 裁剪工具!找了很久,市面上再也找不到比它缩放效果还好的代码了 源代码下载地址:http://www.zuidaima.com/share/1550463380458496.htm 纯 java 实现的 图片缩放 压缩 裁剪工具!不依赖任何第三方 jar 包 1. 找了很久,市面上再也找不到比它缩放效果还好的代码了 (再不使用任何第三方组件的前提下) 2. 支持缩放 3. 支持剪切 (例如:用户上传头像后剪切成正方形小图) /* * Copyright 2012

Android 四种简单的动画(淡入淡出、旋转、移动、缩放效果)

最近在Android开发当中,用到的动画效果. public void onClick(View arg0) { // TODO 自动生成的方法存根 switch (arg0.getId()) { case R.id.danru://淡入淡出 AnimationSet aset=new AnimationSet(true); AlphaAnimation aa=new AlphaAnimation(1,0); aa.setDuration(2000); aset.addAnimation(aa)

手把手教导航头像缩放效果

引言 今天抽时间教大家实现一个非常常见的效果.跟着笔者一起来学习,实现起来非常简单,只需要几行代码即可! 在很多的App中经常有上下滚动时用户头像也跟着变化,而用户头像是放在系统的导航条上的.可能有朋友们尝试过自定义导航view,其实没有必要,直接使用系统自带的导航即可! 通过本篇文章,您将学习以下知识点: 如何分析实现原理 如何实现缩放效果 如何将计算缩放系数 效果图 在开始讲解原理之前,还是先上效果图.有图有真相,才能帮助大家阅读,提升阅读的效果.如下图所示,在往下滚动时,在一定范围内会放大

改造discuz点击图片,滚轮缩放图片(可任意拖移)插件

今天给大家带来一款图片的缩放插件.该插件适用浏览器:IE9及IE9 +.360.Chrome.Firefox.Safari.Opera. 首先展示discuz论坛图片的插件,它具有在新窗口打开.显示实际大小以及关闭三个功能,效果图如下: 其实现代码为: [html] <!DOCTYPE html> <html> <head> <meta http-equiv="Content-Type" content="text/html; cha