javascript - 从平移点到中心缩放图像

标签 javascript css scale css-transforms translate

首先,这是我的问题的 fiddle :

https://jsfiddle.net/0u74faz6/1/

基本上我在一个容器中有一个图像,它本身在另一个容器中。图像按比例放大后,使用 slider 可能不适合它的父容器。然后我使用 CSS translate 来平移图像。这会设置两个变量 translateX 和 translateY(请参阅 makeImageDraggable 方法)。平移到某个位置后,我希望能够:

放大时,从这一点开始缩放。 并且在向下缩放的同时,从这个点向中心缩小<​​/p>

Windows 照片查看器正是这样做的,以 fiddle 中的照片为例,您可以缩放图像,平移到女人的头发并再次缩放,它会放大头发。缩小时,它从头发开始向中心移动,同时保持图像在 div 中的中心位置。

我为此使用的主要代码在方法 scaleImage 中,此处:

translateX = translateX/scale, translateY = translateY/scale;
  img.style.transform = 'scale3d(' + currentScale + ',' + currentScale + ', 1) ' + 'rotate(' + (currentRotation -90) + 'deg)';
  parent.style['-webkit-transform'] = 'translate(' + translateX + 'px, ' + translateY + 'px)';

有人可以帮忙吗?

最佳答案

您是否尝试过使用 transform-origin

关于javascript - 从平移点到中心缩放图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42508923/

相关文章:

javascript - 按整数大小对嵌套数组进行排序

javascript - 调试这段代码?警报不起作用?

javascript - 向显示和隐藏 div 的 javascript 添加淡入淡出效果?

html - 为什么我的位置不是 : sticky element sticking in my flexbox container?

css - 使用窗口大小缩放居中图像

javascript - Windows 手机和/或平板电脑的 navigator.platform 属性是什么

javascript - 将 span-tag 包裹在现有的 INPUT-tag 周围

html - 将 svg 放入容器中

Azure应用程序自动扩展

ios - 部分屏幕截图和图像质量损失