在jQuery / javascript中从头开始编码图像裁剪器和缩放器(同时)?

时间:2012-12-18 09:49:47

标签: javascript jquery image jquery-plugins web

我们正在编写一个相当简单的Javascript(jQuery)图像裁剪器&大小调整。基本上,目前只需要的功能确实是裁剪调整大小

我一直在检查一些jQuery插件,比如JCrop等,似乎没有插件同时执行 两者 的事情。很多裁剪器 OR 调整器,但不是同一个“自然”图像视图上的两个特征。我觉得这样的例子(右下角)对于用户而言在视觉上并不是很好:

http://jsfiddle.net/opherv/74Jep/33/

虽然我想这可能是同时拥有这两个功能的可能方式。虽然您可以看到此示例目前仅进行了缩放,但是作者自己使用“丑陋的黑客”这样做是合格的:

function changeZoom(percent){
    var minWidth=viewport.width();
    var newWidth= (orgWidth-minWidth)*percent/100+minWidth;
    var newHeight= newWidth/orgRatio;
    var oldSize=[img.width(),img.height()];

    img.css({ width: newWidth+"px", height: newHeight+"px" });

    adjustDimensions();

    //ugly hack :(
    if (img.offset().left+img.width()>dragcontainer.offset().left+dragcontainer.width()){
        img.css({ left: dragcontainer.width()-img.width() +"px" });  
    }
    if (img.offset().top+img.height()>dragcontainer.offset().top+dragcontainer.height()){
        img.css({ top: dragcontainer.height()-img.height() +"px" });  
    } 
}

我们正在寻找使用裁剪器框架/区域(我们在网络上最常见)的可能性+图像上的缩放/缩小选项(例如图像边框上的手柄)

由于我们只需要这两个功能,我们认为我们会从头开始编写代码,或者几乎因为我们不想添加其他javascript文件/插件,无论如何都要包含其他我们不需要的功能(至少目前)。

问题是:尝试编码可通过简单的句柄重新调整大小的图像时存在特定的困难。可以通过框架/区域选择进行裁剪(也可以自行调整尺寸并可拖动,以便用户可以微调他想要的图像部分)?

我们绝对更好地分离这两个功能吗?

非常感谢你的帮助。

1 个答案:

答案 0 :(得分:1)

试过这个插件??

http://code.google.com/p/resize-crop/

它同时裁剪和调整大小