我们正在编写一个相当简单的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文件/插件,无论如何都要包含其他我们不需要的功能(至少目前)。
问题是:尝试编码可通过简单的句柄重新调整大小的图像时存在特定的困难。可以通过框架/区域选择进行裁剪(也可以自行调整尺寸并可拖动,以便用户可以微调他想要的图像部分)?
我们绝对更好地分离这两个功能吗?
非常感谢你的帮助。