我们在使用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

来源于helloweba.com
最新版下载:https://github.com/cropzoom/cropzoom (Firefox 3+,Safari 3+ ,Opera 9.5,Google Chrome,Internet Explorer 9+ (Previous browser will no longer supported))
IE6+版本下载源于:http://www.js-css.cn/a/jscode/cutpic/2013/1102/1013.html

图片裁剪:CropZoom插件的应用相关推荐

  1. 简单的移动端图片裁剪vue插件[旋转,平移,缩放,印花]

    Continuing the discussion from Vuex 插件 自动缓存store指定数据(配置最简,性能最佳): ============================分割线=:jo ...

  2. 微信小程序图片裁剪image-cropper插件使用

    首先非常感觉大佬的图片裁剪插件 image-cropper,下面就是大佬的地址 文章地址https://developers.weixin.qq.com/community/develop/artic ...

  3. vue uni-app 裁剪图片(裁剪头像)插件vue-image-cropper

    一.项目预览. 效果: 一个手指拖动,可以移动图片,两个手指拖动可以缩放. 下载该项目: git clone https://github.com/Q956164483/vue-image-cropp ...

  4. jquery插件合集之图片裁剪

    jquery插件合集之图片裁剪 发表于 2011 年 01 月 23 日 由 梦三秋 我们在使用QQ空间.开心网.discus论坛等网站的个人中心时,有个上传个人头像的功能.用户在上传了个人照片之后, ...

  5. 图片裁剪的js有哪些(整理)

    图片裁剪的js有哪些(整理) 一.总结 一句话总结:如果用了amaze框架就去amaze框架的插件库里面找图片裁剪插件,如果没用,jcrop和cropper都不错. 1.amazeui的插件库中有很多 ...

  6. jquery 图片裁剪 java_[Java教程]5 款最新的 jQuery 图片裁剪插件

    [Java教程]5 款最新的 jQuery 图片裁剪插件 0 2015-05-18 16:00:20 这篇文章主要介绍最新的 5 款 jQuery 图片裁剪插件,可以帮助你轻松的实现你网站需要的图像裁 ...

  7. ipad html 自定义裁剪图片大小,移动端图片裁剪上传插件 Mavatar.js(原创)

    插件描述:移动端头像上传,支撑头像预览和放大缩小平移,内置上传至后端请求方法. 注:请在移动端用手势查看缩放效果,PC端无法缩放 Mavatar 移动端头像上传,支撑头像预览和放大缩小平移,内置上传至 ...

  8. Cropper – 简单的 jQuery 图片裁剪插件

    Cropper 是一个简单的 jQuery 图像裁剪插件.它支持选项,方法,事件,触摸(移动),缩放,旋转.输出的裁剪数据基于原始图像大小,这样你就可以用它们来直接裁剪图像. 如果你尝试裁剪跨域图像, ...

  9. Croppic – 免费开源的 jQuery 图片裁剪插件

    Croppic 这款开源的 jQuery 图片裁剪插件能够满足网站开发人员各种不同的使用需要.只需要简单的上传图片,就可以实现你想要的图像缩放和裁剪功能.因为使用了 HTML5 FormData  对 ...

最新文章

  1. 对‘初学者应该选择哪种编程语言’的回答——计算机达人成长之路(38)
  2. 为什么用1 << 16表示数
  3. Linux下的samba服务配置详解
  4. golang常用库:字段参数验证库-validator使用
  5. Java 8的烹调方式– Lambda项目
  6. oc转java_OC和Java
  7. sql server数据库中 smallint, int ,bigint ,tinyint的区别与长度
  8. 卸载office 2003出现pro11.msi
  9. 简单c语言图形程序设计,c语言简单图形编程
  10. 开源免费语音识别引擎 RapidASR
  11. Visual C++ 6.0(完整绿色版)安装及Visual Assist X(西红柿插件、番茄插件)
  12. 步进电机驱动器细分原理_步进驱动器细分设置表说明
  13. 安装最好用的计算机软件,装机软件哪个好?教您最好的装机软件推荐
  14. 为什么我每天都会使用坚果云
  15. laravel路由设置
  16. 【2018年7月英语学习】--零散中星星点点
  17. JSP酒店管理系统myeclipse开发mysql数据库bs框架java编程jdbc详细设计
  18. DDD第3篇 - 事件风暴
  19. (一)JPA的快速入门
  20. 172. 阶乘后的零。

热门文章

  1. 暑期训练日志----2018.8.9
  2. 理论基础 —— 查找 —— 顺序查找
  3. 信息学奥赛C++语言:乘车费用
  4. SAP MM模块-实施顾问岗位-面试手册-面试总结
  5. html5 lang作用,HTML5中的lang属性,zh
  6. MySQL:too many connections
  7. OpenCV Mat主要用法(2)_MatExpr
  8. mui组件 a 锚点定位(Demo案例演示)- 代码篇
  9. 关于vue中Cannot read property 'length' of undefined 导致:数据不显示问题【自己经验参考】
  10. 一款不错的千神阁导航网模板V1.5