在raphaeljs中放大图像

时间:2013-05-07 08:51:25

标签: javascript canvas raphael

我有问题。 我在画布中创建缩放图像,但我不能在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;

1 个答案:

答案 0 :(得分:0)

你的变焦功能对我来说似乎很好,你只是没有给它正确的鼠标x / y位置。您想要使用相对于svg容器的鼠标位置

var mousex = event.clientX - paper.clientX;
var mousey = event.clientY - paper.clientY;

http://jsfiddle.net/mFaD2/