关于WPF中平移缩放问题的解决

问题解决步骤关于WPF中平移缩放问题的解决图形缩放移动的实现遇到的问题描述问题解决问题总结关于WPF中平移缩放问题的解决一直在研究WPF的绘图问题,其中需要用到图形的移动,以及图形的缩放。其实完成这两个问题不难,网上可以找到很多案例,但是总是有缺陷,我用到的在放大到一定倍数时,Canvas平移朝相反方向移动,试了很多次终于解决了这个问题。图形缩放移动的实现主要用了两个TransForm类,一个移动相关的TranslateTransform,一个缩放相关的ScaleTransform。Translat
摘要由CSDN通过智能技术生成

关于WPF中平移缩放问题的解决

一直在研究WPF的绘图问题,其中需要用到图形的移动,以及图形的缩放。其实完成这两个问题不难,网上可以找到很多案例,但是总是有缺陷,我用到的在放大到一定倍数时,Canvas平移朝相反方向移动,试了很多次终于解决了这个问题。

图形缩放移动的实现

主要用了两个TransForm类,一个移动相关的TranslateTransform,一个缩放相关的ScaleTransform。TranslateTransform中主要设定平移参数X,Y向右向下移动,根据鼠标拖动事件的量计算移动的增加量,ScaleTransform中设定的属性参数是ScaleX,ScaleX以及CenterX,CenterY,分别对应的是X,Y的缩放比例和缩放中心。
实现图形移动的思路是将所有需要移动的几何图形绘制在Canvas上,Canvas上层套着一个容器,在这个容器上的鼠标事件下进行相应的移动滚轮缩放实现。

遇到的问题描述

1.当缩放比例为1的时候,拖动正常,图形跟着鼠标同步移动,
2.当缩放比例不为1的时候,鼠标跟图形不同步
3.缩放比例大于2时,图形朝着鼠标相反的方向移动

问题解决

最后解决的方式很简单,只是我没想到,花费了很长时间。因为一直是平移出现的问题,所以我就把重心一直放在TranslateTransform上,它的每一步的变化都在跟踪着,而且当缩放倍数大于2的时候把平移量变成相反数,仍然不行,TranslateTransform的每一步变

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值