;
使用鼠标滚轮缩放后 , 在 Canvas 中绘制的图片的尺寸肯定是放大或者缩小了 , 尺寸发生了改变 ;
图片缩放时 , 鼠标指针指向一个位置 , 该位置对应着一个当前 Canvas 画布中的 x..., y 坐标 , 同时可以计算出当前位置对应的图片中的 水平方向的比例 和 垂直方向的比例 ;
在缩放后的图片中 , 只要保证鼠标指针指向相同的 x, y 坐标时 , 该位置对应的 水平方向的比例 和..., 并设置图片位置 ;
这样图片缩放时 , 始终可以保证鼠标指向的部位保持位置不变 ;
1、保存当前鼠标指针指向的位置
首先 , 在类中定义如下成员字段 ,
pointer_x 和 pointer_y..., 结合图片缩放后的尺寸 , 重新计算画布偏移的位置 , 以达到鼠标指向的图片元素位置基本保持不变的目的 ;
/**
* 计算新的比例
*/
public void...800 x 600
// 绘制的图片是 2K 大小的图片
setPreferredSize(new Dimension(800, 600));
//