【发布时间】:2014-11-12 08:15:42
【问题描述】:
我需要一些关于调整大小算法的帮助。
场景:
- 有一个可以打印的原始图片
- 此原始图像的预览可在浏览器中显示。 (假设宽度为 750px)
我从外部系统收到有关原始图像的裁剪数据。现在我必须在预览图像上显示相同的裁剪框。
预览图像被放置在 HTML img-tag 中。 jquery guillotine 插件将附加到元素以在“裁剪框架”中显示图像。 (https://github.com/matiasgagliano/guillotine)
我设法计算出正确的宽度、高度、x、y、... 问题在于为预览图像设置正确的比例。
这些是从外部系统返回的参数:
- 调整原始图像的百分比 (= outputPct)
- 预览图像调整大小的比率(previewWidth / originalWidth = previewRatio) (- 宽度、高度、x、y、....)
问题:
如何根据上述参数计算预览图像的比例? 不能只使用 outputPct,因为:
- 如果原始 outputPct > 1,则需要将预览放大更多
- 如果原始outputPct = 1,则预览需要放大100%
- 如果原始 outputPct
预览的输出需要与真实图像的输出完全相同。
已经尝试了多种变体,但还没有找到合适的解决方案。 可能需要实现一个更数学的解决方案来解决这个问题。
提前致谢!
【问题讨论】:
-
弄个小提琴这太令人困惑了。
-
很难创建示例小提琴,因为数据是从外部系统中提取的。所以大多数代码会更令人困惑而不是有用。我更新了原始问题以使其不那么混乱。
-
是outputPct是压缩比。我的意思是 outputPct 意味着 outputPct*100 是压缩百分比吗?
-
输出百分比是原始(可打印)图像在裁剪前缩放的比例。因此,如果它是 50% (=0.5),则原始图像将缩放为原始大小的一半。这意味着预览图像的比例需要小于一半 (>50%) 才能得到正确的比例。
标签: javascript algorithm image-processing resize-image