软件工具应有尽有，手机电脑一应俱全
【typora V0.11】This beta version of Typora is expired, please download and install a newer version.
2023 - 应对Typora强制升级收费版的最新解决办法描述作为typora官方唯一的免费版本，官方也是煞费苦心。徒有打开之后发现用不了了，提示升级新版本，这是强制要我掏马内啊。如图：正所谓道高一尺魔高一丈?，于是从网上找到了最新的解决策略。解决办法步骤简单，仅为替换文件即可食用1.typora的安装位置比如我的安装路径在C:\Program Files\Typora，如下图所示然后进入resources文件夹下，找到app.asar文件，如下图所示2.下载app.asar文件资源下载3.替换步骤1中的app.asar文件用下载的app.asar文件替换你在步骤1中app.asar文件重新打开Typora即可End
一、缩放要求缩放对象在可视区域内，已对象的中心点进行缩放。缩放对象比可视区大，并且对象各边界都在可视区外围，那么已鼠标位置进行缩放。缩放对象比可视区大，但是缩放后某一边界在可视区的对应边界内，那么该边界与可视区边界对齐，对向缩放。二、代码片段private void Window_MouseWheel(object sender, MouseWheelEventArgs e) { if (e.Delta == 0) return; double d = e.Delta / Math.Abs(e.Delta); if (_scaleValue < 0.5 && d < 0) return; if (_scaleValue > 20 && d > 0) return; _scaleValue += d * .2; //获取鼠标在缩放之前的目标上的位置 Point targetZoomFocus1 = e.GetPosition(target); //获取目标在缩放之前的Rect Rect beforeScaleRect = target.RenderTransform.TransformBounds(new Rect(target.RenderSize)); //缩放的中心点为左上角（0,0） scaler.ScaleX = _scaleValue; scaler.ScaleY = _scaleValue; //获取鼠标在缩放之后的目标上的位置 Point targetZoomFocus2 = new Point(targetZoomFocus1.X * (1 + d * .2), targetZoomFocus1.Y * (1 + d * .2)); //获取目标在缩放之后的Rect Rect afterScaleRect = target.RenderTransform.TransformBounds(new Rect(target.RenderSize)); //算的缩放前后鼠标的位置间的差 Vector v = targetZoomFocus2 - targetZoomFocus1; if (afterScaleRect.Size.Width <= _viewportSize.Width) { //缩放之后居中 double widthHalfDelta = (Container.RenderSize.Width - afterScaleRect.Width) / 2; translater.X = widthHalfDelta; } else if (afterScaleRect.X - v.X > 0) { //目标左边界与可视左边界对齐 translater.X = 0; } else if (afterScaleRect.X + afterScaleRect.Width - v.X < Container.RenderSize.Width) { //目标右边界与可视右边界对齐 translater.X = Container.RenderSize.Width - afterScaleRect.Size.Width; } else { //减去鼠标点在缩放前后之间的差值，实际上就是以鼠标点为中心进行缩放 translater.X -= v.X; } if (afterScaleRect.Size.Height <= _viewportSize.Height) { double heightHalfDleta = (Container.RenderSize.Height - afterScaleRect.Height) / 2; translater.Y = heightHalfDleta; } else if (afterScaleRect.Y - v.Y > 0) { translater.Y = 0; } else if (afterScaleRect.Y + afterScaleRect.Height - v.Y < Container.RenderSize.Height) { translater.Y = Container.RenderSize.Height - afterScaleRect.Size.Height; } else { translater.Y -= v.Y; } }源代码
软件介绍[scode type="blue"]SqliteStudio是一款 Sqlite数据库可视化工具，是使用Sqlite数据库开发应用的必备软件，软件无需安装，下载后解压即可使用，很小巧但很了用，绿色中文版本。比起其它SQLite管理工具，我喜欢用这个。很方便易用，不用安装的单个可执行文件，支持中文。[/scode]软件界面下载地址（禁止白嫖）
软件介绍[scode type="blue"]Typora 是一款由 Abner Lee 开发的轻量级 Markdown 编辑器，与其他 Markdown 编辑器不同的是，Typora 没有采用源代码和预览双栏显示的方式，而是采用所见即所得的编辑方式，实现了即时预览的功能，但也可切换至源代码编辑模式。[/scode]软件界面主界面源代码模式界面快捷键介绍[collapse status="true" title="相关快捷键介绍"]标题段落\# 一阶标题 或者快捷键Ctrl+1\##二阶标题 或者快捷键Ctrl+2下划线\下划线的内容\<\u> 或者快捷键Ctrl+U删除线\~\~删除线的内容\~\~字体加粗 加粗字体 或者 Ctrl+B字体倾斜倾斜字体 或者 Ctrl+l强调强调词句标注我是做C#1的代码块public class void main{ System.out,println("这是一个例子！"); }"~~~"或"`"+回车键代码样式显示这里是一串代码图片插入直接拖放进去超链接\https://blog.snwl0311.cn\快捷键 Ctrl+Khttps://blog.snwl0311.cn自定义内容 例如：百度一下代码区域 public calss simba{ ​ public static void main(String[] args){ ​ System.out.println("我爱你，中国！");​ }`} `java表格的使用第一种快捷键：Ctrl+T第二种“|国籍|省份|市区|” 回车即可国籍省份市区 任务列表“- [ ] 文字 （注：注意用空格隔开）[ ] 学习Typora的快捷键列表无序列+号+空格-号+空格*号+空格有序列任意数字开始+空格水平分割线*+回车或者---+回车块引用与天斗，其乐无穷！与地斗，其乐无穷！与人斗，其乐无穷！———— 《毛泽东选集》之《奋斗自勉》（毛泽东1917年）大于号+空格注释百度1摘自2表情:单词:cry:今天不开心快捷键快捷键作用快捷键作用Ctrl+1一阶标题Ctrl+B字体加粗Ctrl+2二阶标题Ctrl+I字体倾斜Ctrl+3三阶标题Ctrl+U下划线Ctrl+4四阶标题Ctrl+Home返回Typora顶部Ctrl+5五阶标题Ctrl+End返回Typora底部Ctrl+6六阶标题Ctrl+T创建表格Ctrl+L选中某句话Ctrl+K创建超链接Ctrl+D选中某个单词Ctrl+F搜索Ctrl+E选中相同格式的文字Ctrl+H搜索并替换Alt+Shift+5删除线Ctrl+Shift+I插入图片[/collapse]软件下载我最喜欢的语言 ↩