在RaphaelJS中适当拖放缩放图像

时间:2011-11-30 18:26:40

标签: javascript svg raphael transformation

我已经设法通过在 move 方法中更改 x y 属性来在RaphaelJS中实现dnd of image。我点击图像,我可以移动它,一切都按预期工作。

我现在想要实现的效果

  • 用户点击图片,并按1.2用户缩放
  • 释放鼠标按钮时移动图像
  • 缩小至原始尺寸
  • *一切都应该看起来光滑自然

我在做什么

  • 当用户点击图片时:记住图片的x,y,image.scale(1.2)
  • 移动时:image.attr({x: (dx/1.2)+startx}); image.attr({y: (dy/1.2)+starty});
  • 鼠标重播:image.scale(1.0)

当前效果:在我释放鼠标按钮之前正常工作 - >图像缩小到原始尺寸 ,但它也 根据起始位置向右或向左跳跃

在RaphaelJS中有一个简单的方法可以解决我的问题,还是我必须深入研究复杂的转换?

2 个答案:

答案 0 :(得分:0)

我猜问题是你在缩放前记住图像的x,y,这可能不完全正确

您也可以尝试手动设置形状的中心 http://raphaeljs.com/reference.html#Element.scale

答案 1 :(得分:0)

我发现使用转换对我有用。你可以像el.transform('s1.5,s1.5');

一样使用它