计算图像裁剪比例

Posted

技术标签:

【中文标题】计算图像裁剪比例【英文标题】:Calculate image cropping proportions 【发布时间】:2015-02-23 13:05:56 【问题描述】:

我的网站上有一些裁剪功能。

所以,问题是实际照片尺寸比裁剪区域大,当我试图获得此裁剪操作的实际结果时,我从可见的比例 - 在 css 中调整大小 - 区域不是来自原始大小图片。如何计算此图像从调整大小到实际大小的裁剪比例。

我这样做了,但它不能正常工作,我应该使用一些数学函数还是什么,有人可以帮忙吗?

var width = img.width;
var height = img.height;

// c.x, c.y, c.w, c.h is cropping coords which i recive from crop plugin callback function
// 360 is modal window size, resized area for displaying img

function showCoords(c) 
    cords_node = 
        "x": c.x ,
        "y": c.y,
        "width": width < c.w ? c.w : (width / 360) * c.w,
        "height": height < c.h ? c.w : (width / 360) * c.w
        /*x2: c.x2,
        y2: c.y2*/
    ;
    return cords_node;

【问题讨论】:

【参考方案1】:

找出变化的比率:

// find the ratio of change in H and W...
var ratioW = $('.image')[0].naturalWidth / $('.image').width();
var ratioH = $('.image')[0].naturalHeight / $('.image').height();
var ratio = Math.min(ratioW, ratioH);
// now.. multiply all your coords by 'ratio'
// ...

【讨论】:

以上是关于计算图像裁剪比例的主要内容,如果未能解决你的问题,请参考以下文章

回形针 - 按图像比例进行条件裁剪

即时裁剪图像

计算机图像处理之形状变换

当图片大于矩形时,计算图片裁剪的坐标矩形

UIImage 调整大小并裁剪以适合

裁剪图像会导致越界错误[关闭]