从调整大小的图像获取裁剪坐标

Getting crop coordinates from a resized image


我正在开发一个弹出窗口,用户可以在其中选择图像,裁剪它,然后上传裁剪区域。问题是,如果用户选择大图像,弹出窗口会变得非常大,所以我试图给 img 一个固定大小(或将其放在一个固定的 div 中),但这破坏了我从裁剪中获得的坐标功能(顺便说一句,我使用 Jcrop)。 所以问题是我能否从调整大小的图像中获得正确的裁剪坐标。 谢谢。

我无法评论询问详情,所以这里是根据我的理解回答的。如果您想要更精确的答案,您应该添加一些代码(调整图像大小的方式、使用 Jcrop 的方式等)。
据我了解,用户选择要在调整大小的图像上裁剪的区域。

你可以做的是计算调整比例。
假设图片为 900*900px,您将其调整为最大 300*300px
在这种情况下,比率为 900/300=3 (originalWidth/resizedWidth).
您所要做的就是将裁剪坐标乘以该比率。

确保您的比例适用于宽度和高度(这取决于您调整图像大小的方式)。如果您的图像不是正方形,您可能需要计算 2 个比率(一个用于高度,一个用于宽度)。 在这种情况下,您必须将所有 x 值乘以 widthRatio 并将所有 y 值乘以 heightRatio.