调整大小和移动图像时更改原点

时间:2013-07-30 03:18:26

标签: javascript image-processing

我正在尝试制作一个图像缩放器和裁剪器,但是我无法从所需的位置调整它的大小。

目前,您可以调整大小(只需更改<img>元素的+高度)并在图像周围移动(偏移<img>元素的顶部和左侧边距)。问题是一旦你移动它并再次调整它,它就是从图像的中心开始。我希望它相对于裁剪窗口的中心调整大小。

以下是我目前拥有的图片(顶部)及其应有的图片(底部): http://i.imgur.com/eAE4IEF.jpg

我一直无法弄清楚如何调整它的大小,然后移动它以使原点不在图像的中心,而是在红色窗口的中心。

我很感激任何帮助。

1 个答案:

答案 0 :(得分:1)

这实际上是按照给定的比例因子缩放图像内部的单个点(裁剪框的中心),这涉及将该点的每个坐标乘以该因子。

new_center_x = old_center_x * new_image_width/old_image_width
new_center_y = old_center_y * new_image_height/old_image_height

http://jsfiddle.net/jDXHz/5/

然后,您可以通过新旧位置之间的差异将图像和框移回,以使图像在图像周围缩放时保持图像不变。