在canvas上画图添加缩放功能如何以鼠标指针的坐标为缩放中心

i胡睿
  • 27

我知道canvas默认是从左顶点开始scale的,我的想法是scale后每个图形势必和左顶点的距离增大了(x-x/scale系数,y-y/scale系数)或者减小了(x+x/scale系数,y+y/scale系数),我就在scale后translate(-(x-x/scale系数),-(y-y/scale系数))或者translate(x+x/scale系数,y+y/scale系数),可是放大时却往右下角偏,缩小时往左上角偏,知道自己translate错了,可又不知道错在哪里,请大家帮忙看看,谢谢了

回复
阅读 7.3k
1 个回答

分解:
1:先以原点为基点进行缩放scale(scaleValue,scaleValue),得到缩放后的图。
2:进行translate平移,平移的位置是(x,y)/scaleValue-(x,y)。

你知道吗?

宣传栏