零、效果图
一、原理说明:
实现在光标位置缩放画布的效果可以理解为,光标所对应到画布上的坐标点在缩放之前和之后都继续对应在光标所在的位置。而一般缩放画布,画布会以画布的左上角为固定点缩放,即画布大小变化后,左上角的位置不会发生变化。因此光标对应画布上的点在缩放后并不在原来的位置,而是发生了位移。因此把这个位移倒着移动回去,就实现了在光标位置点缩放画布的效果了。在任何系统平台上都可以按照这个原理实现在光标点缩放画布的效果。
验证“画布会以画布的左上角为固定点缩放”的方法:
在你实现了画布缩放之后,把鼠标光标移动到画布的左上角点上,然后滚动滑轮缩放,看画布是否是在鼠标点位置做放大缩小变化。如果是,那么说明你的缩放算法也是以画布左上角为原点缩放的。
二、算法实现:
这个算法的计算方法在各个平台重新按照这个计算步骤计算都可以实现光标点缩放画布的效果。
注:这里的实现为缩放参照点为左上角的点,比如放大,则会使矩形向右和向下放心延伸实现放大。
a.计算原理:</