Inkcanvas 放大缩小变换
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 放大缩小变换相关推荐
- ai里为什么不能随意放大缩小_平面设计基础知识:平面设计师应该熟练掌握的软件之AI。...
今天给大家整理了一下,平面设计基础知识中平面设计师应该熟练掌握的软件之AI.这个系列共有五篇,其他几篇都在首页,可以去看一下,有任何问题可以提出来,下面我们一起看一下平面设计基础知识中平面设计师应该熟 ...
- Android开发--Matrix(一)--实现图片的动态放大缩小
Matrix ,中文里叫矩阵,高等数学里有介绍,在图像处理方面,主要是用于平面的缩放.平移.旋转等操作. 首先介绍一下矩阵运算.加法和减法就不用说了,太简单了,对应位相加就好.图像处理,主要用到的是 ...
- svg放大缩小拖动_Day2 三种图表技术SVG、Canvas、WebGL 3D比较
1.什么是SVG? 描述: 一种使用XML描述的2D图形的语言 SVG基于XML意味着,SVG DOM中的每个元素都是可用的,可以为某个元素附加Javascript事件处理器. 在 SVG 中,每个被 ...
- html图片自动在div里放大,HTML5+CSS3实现图片的放大/缩小
原标题:HTML5+CSS3实现图片的放大/缩小 最近做项目时,经常遇到需要图片缓慢放大的效果.我做的时候想到了几种方法,所以来总结一下. 1. 利用css改变图片的宽高,做出视觉上的放大. 首先,将 ...
- 最新版CameraX入门(拍照、存储展示、切换前后摄像头、手电筒、闪光灯、手势伸缩、双击放大缩小)
基于官网demo,增加了对焦.手势缩放.手电.闪光灯等操作 Camera的预备知识 熟悉的大佬可以跳过 Surface.SurfaceView.SurfaceHolder这三个是啥 Surface是什 ...
- android 手势放缩_手把手教你打造支持手势放大缩小的ImageView
写在前面 最近有了新的任务,学习的时间比以前少了不少,Java回炉的文估计是得缓缓了,不过每周一篇尽量保质保量.最近感觉我文写的有点不好,因为我写东西除非必要,不然概念性的东西我基本上都是一笔带过-- ...
- 利用图像内插法放大缩小图像 Matlab
原文:https://blog.csdn.net/Goldfish442/article/details/61933735 利用图像内插法放大缩小图像 Matlab 内插是利用已知数据来估计未知位置的 ...
- ai里为什么不能随意放大缩小_AI常见问题解答
1.在AI中,有没有和CD一样的调整文字间距的快捷键呀? 答:Alt+左右方向键移动箭头. 2.在AI中,如何像快速放大缩小编辑区域? 答:按住Alt滚动鼠标滚轮. 3.在AI中,如何设置圆角矩形的圆 ...
- Codeblocks 利用GLUT 画出矩形,直线,三角形,圆形图案并实现翻转,镜像,变色放大缩小等功能
实验要求:开发一个画图程序,用户可以用鼠标绘制线段.矩形.圆和三角形等.通过菜单让用户选择需要绘制的图元. 注意:一定要加上<windows.h>库否则无法通过编译 #include &l ...
最新文章
- 微软2012实习生笔试题及答案(望讨论)
- python基础代码库-Python基础数据处理库-NumPy
- 计算机电缆zrdjypvp,ZRDJYPVP电缆什么标准
- java有参和无参的用处_Java对比有参数和无参数
- shell编程之文本处理工具awk
- PC端设置每行固定三个元素多余换行
- Linux学习_菜鸟教程_3
- 百度网页移动端html,百度移动端开始用网站品牌名代替网址显示
- Class的 getSuperclass与getGenericSuperclass区别
- 【渝粤题库】陕西师范大学202081 管理学 作业 (专升本、高起本、高起专)
- qq五笔linux,QQ五笔 - 五笔小字典 QQ绑定很实用
- 【51单片机快速入门指南】5:软件SPI
- 将MyEclipse项目导入到Eclipse中
- C语言基础知识(一)-------C++语言结构
- PHP中类重写方法,php中重写方法有什么规则
- 《嵌入式系统项目分析入门与实践》 读后感(1)
- 原理图与 PCB 绘制备忘
- 直接选择排序算法时间 / 空间复杂度
- Python实现社交网络可视化
- 接口(interface、implement)