1. ScrollViewer > Inkanvas布局实现显示滚动条

2. 笔迹 & 子控件 放大缩小转换

3. 布局放大缩小转换

4. RenderTransform vs LayoutTransform 前者不影响控件的RenderSize,后者影响

Xaml:

<Windowx:Class="WpfLogin.MainWindow"xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"Title="For you"Width="600" Height="400"><StackPanel><ScrollViewer Name="ScrollViewer_Test" Width="580" Height="300" HorizontalScrollBarVisibility="Auto" VerticalScrollBarVisibility="Auto"><InkCanvas Name="InkCanvas_Test"><Image Width="200" Height="200" Source="F:\_tina\workspace\WpfLogin\WpfLogin\Images\video.png" HorizontalAlignment="Center" VerticalAlignment="Center"/></InkCanvas></ScrollViewer><Button Content="放大" Tag="increase" Click="Button_Click"/><Button Content="缩小" Tag="decrease" Click="Button_Click"/></StackPanel>
</Window >

Xaml.cs

    /// <summary>/// MainWindow.xaml 的交互逻辑/// </summary>public partial class MainWindow:Window{public MainWindow(){InitializeComponent();}private void Button_Click(object sender, RoutedEventArgs e){double scale;Button button = sender as Button;if (button.Tag.ToString().Equals("increase")){scale = 1.25;}else{scale = 0.8;}//转换笔迹//foreach (Stroke s in InkCanvas_Test.Strokes)//{//    Matrix myMatrix = new Matrix();//    myMatrix.Scale(scale,scale);//    s.Transform(myMatrix, false);//}if (InkCanvas_Test.LayoutTransform != null){Point resultPoint;InkCanvas_Test.LayoutTransform.TryTransform(new Point(1, 1), out resultPoint);double originalScale = resultPoint.X / 1.0;InkCanvas_Test.LayoutTransform = new ScaleTransform(originalScale * scale, originalScale * scale);}else{Transform transform = new ScaleTransform(scale, scale);InkCanvas_Test.LayoutTransform = transform;}}}

Inkcanvas 放大缩小变换相关推荐

  1. ai里为什么不能随意放大缩小_平面设计基础知识:平面设计师应该熟练掌握的软件之AI。...

    今天给大家整理了一下,平面设计基础知识中平面设计师应该熟练掌握的软件之AI.这个系列共有五篇,其他几篇都在首页,可以去看一下,有任何问题可以提出来,下面我们一起看一下平面设计基础知识中平面设计师应该熟 ...

  2. Android开发--Matrix(一)--实现图片的动态放大缩小

    Matrix ,中文里叫矩阵,高等数学里有介绍,在图像处理方面,主要是用于平面的缩放.平移.旋转等操作.  首先介绍一下矩阵运算.加法和减法就不用说了,太简单了,对应位相加就好.图像处理,主要用到的是 ...

  3. svg放大缩小拖动_Day2 三种图表技术SVG、Canvas、WebGL 3D比较

    1.什么是SVG? 描述: 一种使用XML描述的2D图形的语言 SVG基于XML意味着,SVG DOM中的每个元素都是可用的,可以为某个元素附加Javascript事件处理器. 在 SVG 中,每个被 ...

  4. html图片自动在div里放大,HTML5+CSS3实现图片的放大/缩小

    原标题:HTML5+CSS3实现图片的放大/缩小 最近做项目时,经常遇到需要图片缓慢放大的效果.我做的时候想到了几种方法,所以来总结一下. 1. 利用css改变图片的宽高,做出视觉上的放大. 首先,将 ...

  5. 最新版CameraX入门(拍照、存储展示、切换前后摄像头、手电筒、闪光灯、手势伸缩、双击放大缩小)

    基于官网demo,增加了对焦.手势缩放.手电.闪光灯等操作 Camera的预备知识 熟悉的大佬可以跳过 Surface.SurfaceView.SurfaceHolder这三个是啥 Surface是什 ...

  6. android 手势放缩_手把手教你打造支持手势放大缩小的ImageView

    写在前面 最近有了新的任务,学习的时间比以前少了不少,Java回炉的文估计是得缓缓了,不过每周一篇尽量保质保量.最近感觉我文写的有点不好,因为我写东西除非必要,不然概念性的东西我基本上都是一笔带过-- ...

  7. 利用图像内插法放大缩小图像 Matlab

    原文:https://blog.csdn.net/Goldfish442/article/details/61933735 利用图像内插法放大缩小图像 Matlab 内插是利用已知数据来估计未知位置的 ...

  8. ai里为什么不能随意放大缩小_AI常见问题解答

    1.在AI中,有没有和CD一样的调整文字间距的快捷键呀? 答:Alt+左右方向键移动箭头. 2.在AI中,如何像快速放大缩小编辑区域? 答:按住Alt滚动鼠标滚轮. 3.在AI中,如何设置圆角矩形的圆 ...

  9. Codeblocks 利用GLUT 画出矩形,直线,三角形,圆形图案并实现翻转,镜像,变色放大缩小等功能

    实验要求:开发一个画图程序,用户可以用鼠标绘制线段.矩形.圆和三角形等.通过菜单让用户选择需要绘制的图元. 注意:一定要加上<windows.h>库否则无法通过编译 #include &l ...

最新文章

  1. 微软2012实习生笔试题及答案(望讨论)
  2. python基础代码库-Python基础数据处理库-NumPy
  3. 计算机电缆zrdjypvp,ZRDJYPVP电缆什么标准
  4. java有参和无参的用处_Java对比有参数和无参数
  5. shell编程之文本处理工具awk
  6. PC端设置每行固定三个元素多余换行
  7. Linux学习_菜鸟教程_3
  8. 百度网页移动端html,百度移动端开始用网站品牌名代替网址显示
  9. Class的 getSuperclass与getGenericSuperclass区别
  10. 【渝粤题库】陕西师范大学202081 管理学 作业 (专升本、高起本、高起专)
  11. qq五笔linux,QQ五笔 - 五笔小字典 QQ绑定很实用
  12. 【51单片机快速入门指南】5:软件SPI
  13. 将MyEclipse项目导入到Eclipse中
  14. C语言基础知识(一)-------C++语言结构
  15. PHP中类重写方法,php中重写方法有什么规则
  16. 《嵌入式系统项目分析入门与实践》 读后感(1)
  17. 原理图与 PCB 绘制备忘
  18. 直接选择排序算法时间 / 空间复杂度
  19. Python实现社交网络可视化
  20. 接口(interface、implement)

热门文章

  1. 转:微信、米聊用户数量猛增 短信业务受冲击
  2. FL Studio20最详细的注册教程 附二十位序列号
  3. 用vue实现,鼠标悬停放大图片,根据鼠标位置倾斜图片网页源码
  4. Android:禁止APP录屏和截屏
  5. 禁止浏览器返回登入页面
  6. JavaWeb学习笔记2 —— Web服务器简介
  7. mysql行转列简单例子_mysql行转列、列转行示例
  8. win10右键卡顿原因_windows10鼠标点击右键出现卡顿如何解决
  9. Java调用excel宏
  10. cpp c++编写代码块 有颜色 好看些