我有问题。 我在画布中创建缩放图像,但我不能在raphaeljs中传输它 如何缩放光标协调?
Raphaeljs: http://jsfiddle.net/qCzqF/2/
function zoomTo (x,y,z) {
c.translate(
originx,
originy
);
c.scale(z,z);
c.translate(
-( x / scale + originx - x / ( scale * z ) ),
-( y / scale + originy - y / ( scale * z ) )
);
originx = ( x / scale + originx - x / ( scale * z ) );
originy = ( y / scale + originy - y / ( scale * z ) );
scale *= z;
画布: http://jsfiddle.net/JtctY/
function zoomTo (x,y,z) {
context.translate(
originx,
originy
);
context.scale(z,z);
context.translate(
-( x / scale + originx - x / ( scale * z ) ),
-( y / scale + originy - y / ( scale * z ) )
);
originx = ( x / scale + originx - x / ( scale * z ) );
originy = ( y / scale + originy - y / ( scale * z ) );
scale *= z;
答案 0 :(得分:0)
你的变焦功能对我来说似乎很好,你只是没有给它正确的鼠标x / y位置。您想要使用相对于svg容器的鼠标位置
var mousex = event.clientX - paper.clientX;
var mousey = event.clientY - paper.clientY;