我们在使用QQ空间或者开心网等网站的个人中心时,有个上传个人头像的功能。用户在上传自己的照片后,由于照片尺寸不符合网站的要求,要求用户对照片进行裁剪,最终根据用户裁剪的尺寸生成头像。
最近在项目中也要用到这样的功能,用户可以对上传的图片进行自由缩放、裁剪,使之符合彩信图片的大小。于是,发现了CropZoom。
CropZoom特性
CropZoom是由Gaston Robledo写的一个功能非常强大的jquery图片裁剪插件,它具有以下主要特性:
1、任意放大和缩小图片
2、360度旋转照片
3、自由拖动,自定义选择区样式
4、及时显示裁剪后的照片,可以与后台程序PHP、JAVA、Asp.net等通信
5、兼容IE6+,fireFox2+,Opera,Safria
使用CropZoom
该插件需要JQuery UI的ui.droppable, ui.resizable, ui.slider支持。因此在使用之前先要准备相关文件。jquery.js可以在jquery官方网站上下载。JQuery UI可以在官方下载。
1、导入JS和CSS样式。
<link href="css/jquery-ui-1.8.custom.css" rel="Stylesheet" type="text/css" /> <script type="text/javascript" src="js/jquery-1.4.2.min.js"></script> <script type="text/javascript" src="js/jquery-ui-1.8.custom.min.js"></script> <script type="text/javascript" src="js/jquery.cropzoom.js"></script>
2、构建HTML结构代码。
<div class="crop"> <div id="cropzoom_container"></div> <div id="preview"><img id="generated" src="tmp/head.gif" /></div> <div class="page_btn"> <input type="button" class="btn" id="crop" value="剪切照片" /> <input type="button" class="btn" id="restore" value="照片复位" /> </div> <div class="clear"></div> </div>
这部分的样式大家可以自己定制,也可以参照月光光写的DEMO。
3、调用CropZoom插件。
$(function() { var cropzoom = $('#cropzoom_container').cropzoom({ width: 500, height: 360, bgColor: '#ccc', enableRotation: true, enableZoom: true, selector: { w:150, h:200, centered: true, bgInfoLayer:'#fff', borderColor: 'blue', borderColorHover: 'yellow' }, image: { source: 'photo.jpg', width: 450, height: 800, minZoom: 30, maxZoom: 150 } }); $("#crop").click(function(){ cropzoom.send('crop_img.php', 'POST', {}, function(imgRet) { $("#generated").attr("src", imgRet); }); }); $("#restore").click(function(){ $("#generated").attr("src", "tmp/head.gif"); cropzoom.restore(); }); });
CropZoom插件主要参数和方法一览表
参数/方法 | 描述 | 默认值 |
基本 | ||
width | 整个图片容器的宽度 | 640 |
Height | 整个图片容器的高度 | 480 |
bgColor | 容器的背景色 | #000 |
overlayColor | 当拖动选区(选择区域)时容器的背景色 | #000 |
enableRotation | true/false,是否显示角度调节控件 | true |
enableZoom | true/false,是否显示缩放控件 | true |
restore | 方法,重置、复位图片和插件参数 | |
send | 方法,向服务端发送裁剪图片的数据,以便服务端接收参数进行处理, e.g: cropzoom.send('process.php','POST',{id=1},function(r){ alert(r); }); |
|
选区参数 | ||
width | 选区的宽度 | 229 |
height | 选区的高度 | 100 |
borderColor | 选区边框的颜色 | yellow |
borderColorHover | 当鼠标滑向选区时,选区边框的颜色 | red |
Centered | 是否将选区居中,即显示在容器的中心。 | false |
图片参数 | ||
source | 图片的路径 | |
rotation | 图片的初始角度 | 0 |
width | 图片的宽度 | 0 |
height | 图片的高度 | 0 |
minZoom | 图片的最小缩放率(百分比) | 10 |
maxZoom | 图片的最大缩放率(百分比) | 150 |
最新版下载:https://github.com/cropzoom/cropzoom (Firefox 3+,Safari 3+ ,Opera 9.5,Google Chrome,Internet Explorer 9+ (Previous browser will no longer supported))
相关推荐
`cropzoom`是一款专为jQuery设计的插件,它允许用户在上传图片后进行自由裁剪,以达到理想的效果。这款插件特别适用于asp.net和php平台,能够为开发者提供一套便捷、高效的图像处理方案。 `cropzoom`的核心功能在于...
在这个实例中,我们将探讨如何利用 `jQuery` 和 `cropzoom` 插件来创建一个简单的图片裁剪功能,不过不包括旋转和缩放。 ### 1. jQuery 基础 首先,我们需要对 `jQuery` 有一定的了解。`jQuery` 提供了一种简洁的...
总结起来,CropZoom是一个适用于头像图片裁剪的JavaScript插件,它利用Canvas技术和jQuery实现交互式的裁剪功能。开发者可以轻松地将其整合到自己的项目中,提供用户友好的头像上传体验。通过了解其工作原理和使用...
`jQuery-cropzoom`不仅适用于上传头像、产品图片裁剪等常见场景,还可以结合其他技术,如Vue、React等现代前端框架,用于更复杂的图像处理应用场景,如在线编辑器、图像分析等。 总的来说,`jQuery-cropzoom`是一...
cropzoom是一个用于图片裁剪的JavaScript插件。使用cropzoom进行图片裁剪的步骤如下: 1. **引入cropzoom**:在HTML页面中引入cropzoom的JS和CSS文件。 2. **设置图片元素**:创建一个img元素,用于显示上传后的...
《jQuery CropZoom插件详解与应用实践》 在网页开发中,图片的裁剪与缩放功能常常被用于用户头像上传、产品图片处理、图片预览等场景。jQuery CropZoom是一个强大的JavaScript插件,它提供了高效且易用的图片裁剪与...
通过以上步骤,我们就成功地在JSP环境中集成了jQuery cropzoom插件,实现了图像的裁剪和缩放功能。这个过程涉及到前端的JavaScript交互、HTML布局,以及后端的Java图像处理技术,是Web开发中一个典型前后端协同工作...
C#和ASP.NET作为Microsoft提供的强大编程语言和Web应用程序框架,为开发者提供了丰富的工具和库来处理图像操作,如图片裁剪。本项目就是一个利用C#和ASP.NET实现的图片裁剪控件,名为“Image Cropping”。 在ASP...
前端处理用户的交互,后端负责实际的图片处理工作,两者协同工作,实现了跨浏览器的图片裁剪和上传功能。这个技术栈适用于需要用户自行调整图片大小和形状的任何Web应用,例如个人资料图片编辑、产品图片上传等场景...
2. 用户使用CropZoom插件进行裁切操作,JQuery将裁切信息(包括坐标和缩放比例)发送至后端。 3. JSP接收到请求,将裁切参数传递给JAVA后端。 4. JAVA解析裁切参数,使用图像处理库(如Java的ImageIO或第三方库如...
1. 在HTML页面中引入jQuery和jQuery_cropZoom插件的脚本,设置相应的CSS样式,构建图片预览和裁剪的界面。 2. 使用JavaScript编写上传按钮的事件监听器,调用jQuery_cropZoom的API获取裁剪后的图片数据(通常是以...
在压缩包文件`cropzoom-cropzoom-b6af281`中,我们可以推测它可能包含了一个名为"CropZoom"的图片裁剪库的源码或编译后的资源。这个库可能提供了类似放大镜功能,让用户可以更精确地裁剪图像。要深入了解这个库的...
【jQuery.cropzoom插件详解与应用】 在网页开发中,头像上传功能是常见的用户交互设计,它允许用户上传个人照片并进行裁剪以适应不同的显示需求。`jQuery.cropzoom`是一个专门针对这一需求设计的JavaScript插件,它...
3. **CropZoom**:这个插件允许用户选择并裁剪图像的特定区域,同时支持放大、缩小、拖动和旋转,适用于图像编辑或上传功能。 4. **jquery.event.drag**:这是一个专门处理复杂拖动交互的插件,可以将拖动行为应用...
// 使用canvas进行图片裁剪 var canvas = document.createElement('canvas'); var ctx = canvas.getContext('2d'); canvas.width = data.newWidth; canvas.height = data.newHeight; ctx.drawImage(image...