在固定点,javascript/canvas上实现缩放

csi*_*siz 6 javascript html5 canvas

可能重复:
放大点(使用比例和平移)

我想用鼠标滚轮实现鼠标指针的缩放.这是在鼠标指针下的点保持固定的同时缩放图像.

这是我的代码,它不能很好地工作

var scala = 1 + event.wheelDelta / 1000;
canvas.context.translate(-canvas.mouse.x * ( scala - 1 ) / canvas.scale,-canvas.mouse.y * ( scala - 1 ) / canvas.scale);
canvas.context.scale(scala,scala);
canvas.scale *= scala;
//canvas.scale is my variable that is initially set to 1.
//canvas.mouse is my variable that represents the mouse position relative to the canvas
Run Code Online (Sandbox Code Playgroud)

csi*_*siz 1

解决了,答案在这里:同样的问题