我们正在编写一个相当简单的Javascript(jQuery)图像裁剪器大小调整.基本上,现在只有功能确实是作物和调整大小.
我一直在检查一些jQuery插件,如JCrop等,似乎没有插件同时做这两件事情.很多的裁剪者或调整器,但不是同一个“自然”图像视图的两个功能在同一时间.自然我的意思是这样的例子(右下)对于用户而言,视觉上不是很好看:
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文件/插件,这些文件/插件无论如何都会被我们不需要的其他功能所包装(至少现在) .
问题是:有没有特别的困难,试图通过简单的句柄来编写可重新定义的图像的显示.可以通过帧/区域选择(也可以自己重新定义并可拖动),以便用户可以微调他想要的图像的哪个部分?
我们绝对更好地分离这两个功能吗?
非常感谢你的帮助.