;
使用鼠标滚轮缩放后 , 在 Canvas 中绘制的图片的尺寸肯定是放大或者缩小了 , 尺寸发生了改变 ;
图片缩放时 , 鼠标指针指向一个位置 , 该位置对应着一个当前 Canvas 画布中的 x..., y 坐标 , 同时可以计算出当前位置对应的图片中的 水平方向的比例 和 垂直方向的比例 ;
在缩放后的图片中 , 只要保证鼠标指针指向相同的 x, y 坐标时 , 该位置对应的 水平方向的比例 和...垂直方向的比例 仍然保持不变 , 那就需要移动图片的位置 ;
如果放大图片就需要将图片往左上方移动 ;
如果缩小图片就需要将图片往右下方移动 ;
此时可以分析出 , 如果要实现 鼠标滚轮缩放的中心点设置为当前鼠标中心点..., 并设置图片位置 ;
这样图片缩放时 , 始终可以保证鼠标指向的部位保持位置不变 ;
1、保存当前鼠标指针指向的位置
首先 , 在类中定义如下成员字段 ,
pointer_x 和 pointer_y...pointer_y;
然后 , 在鼠标缩放之前 , 保存当前的鼠标位置及比例 ;
在鼠标滚轮事件 MouseWheelEvent 中 , 可以直接通过调用 e.getX(), e.getY() 获取到当前