Cropper比率公式

时间:2010-08-02 21:25:03

标签: javascript algorithm yui

我使用的是YUI图像裁剪器,可以很好地裁剪图像。我把裁剪器设置好了。我现在将裁剪器的宽度和高度变量设置为适合我的网站结构的定义值。

我设置了裁剪器,以便显示原稿的小尺寸版本,并将裁剪器连接到该裁剪器上。现在,我的问题是确定将叠加设置为的大小。

例如,我的原始图像是1000x750,我的调整后的图像与附加的裁剪器是600x450。我的最终裁剪图像必须是205x655 - 确定裁剪叠加应该是什么尺寸的正确公式是什么?换句话说,我如何算出正确的比例?

我还需要一个公式来转换定位值(顶部和左侧)从裁剪返回以从原始图像运行裁剪(与之前的比率相反?)

由于

1 个答案:

答案 0 :(得分:3)

所以有4个矩形/图像:

  1. 原始图片 1000x750 (不尽相同)
  2. (暂时) 已调整大小的图片 600x450 (在这些限制范围内变化,保留方面比?)
  3. 已调整大小的裁剪框 123x393 (不尽相同)
  4. 最终裁剪图片 205x655 (已修复要求)
  5. 这是对的吗?

    如果是这样,只需计算调整大小比例并关闭其中的所有内容。

    伪代码:

    ResizeRatio             = resizedPicture_width / originalPicture_width;
    //-- Note that this assumes aspect ration was preserved, like it should be.
    
    resizedCropBox_width    = 655 * ResizeRatio;
    resizedCropBox_height   = 205 * ResizeRatio;
    
    //-- Now translate from the resized crop position to the original pic postion.
    finalCropTop            = resizedCropTop  / ResizeRatio;
    finalCropLeft           = resizedCropLeft / ResizeRatio;