【发布时间】:2017-12-18 23:09:20
【问题描述】:
这几天我一直在为这个问题头疼。
在对各种比率算法进行大量搜索和试验后,我意识到我大脑中的数学部分丢失或死亡。
我正在开发一种裁剪工具。
在图像上选择一个矩形裁剪区域后,我想放大裁剪区域部分。
为此,我想放大图像和裁剪框的尺寸,直到裁剪框达到工作空间的 maxHeight 或 maxWidth。
裁剪框的 top、left、width 和 height 值应与缩放图像。
为此,我认为我需要将它们乘以比例因子 = (c)。
这是一个悲伤的尝试。但是比例因子不在地球上。因为我选择了大约 85% 的图像,所以图像的比例应该只增加大约 15%。
我尝试了各种方法来获得根据新尺寸缩放图像和裁剪框所需的比例:
const c = Math.min( croppingAreaNewWidth / currentImageWidth, croppingAreaNewHeight / currentImageHeight);
// OR
const c = Math.min( croppingAreaOldWidth / croppingAreaNewWidth, croppingAreaOldHeight / croppingAreaNewHeight );
// 或
const c = Math.min( croppingAreaNewWidth / workspaceWidth, croppingAreaNewHeight / workspaceHeight );
我知道我已经走了。
我无法确定必须放大哪些高度/宽度才能使所有内容保持成比例。
计算允许我放大裁剪区域的比例因子的正确方法是什么?
任何提示将不胜感激。
【问题讨论】:
标签: javascript image zooming crop