Implementando el zoom en un punto fijo, javascript / canvas

Posible duplicado:
Acercar un punto (usando escala y traducir)

Quiero implementar el zoom en el puntero del mouse con la rueda del mouse. Eso es escalar la image mientras el punto debajo del puntero del mouse permanece fijo.

Aquí está mi código, que no funciona muy bien

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 

Sin mirar nada más, necesitará 2 traduce: una antes para mover el punto del mouse a (0,0) y una después para mover (0,0) (ahora con la image ampliada) a donde estaba el mouse.

Lo resolvió y la respuesta está aquí: la misma pregunta

Supongo que debe hacer un canvas.context.restre() después de cada networkingibujado, si está guardando el nivel de zoom.