jQuery头像裁剪工具jcrop用法实例(附演示与demo源码下载)


Posted in Javascript onJanuary 22, 2016

本文实例讲述了jQuery头像裁剪工具jcrop用法。分享给大家供大家参考,具体如下:

头像裁剪工具目前比较流行的是flash和jquery的。个人觉得用jquery的比较好,因为代码仔细研究一下,基本上能明白怎么回事,想改的话也比较容易。

有一个例子,请参考:jcrop例子demo ,是根jcrop的例子改的,添加以下二个特点:

1,居中显示,并且可拖拉,改变截取的大小
2,预览的图片,根拖拉的大小成比例。

以下是js代码,作了简单的封装

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
 <head>
  <meta http-equiv="Content-type" content="text/html;charset=UTF-8" /> 
  <title>jcrop 图片拖动</title>
  <script src="jquery.min.js" type="text/javascript"></script>
  <script src="jquery.Jcrop.min.js" type="text/javascript"></script>
  <link rel="stylesheet" href="jquery.Jcrop.css" type="text/css" />
  <link rel="stylesheet" href="demos.css" type="text/css" />
 </head>
 <body>
 <div id="outer">
 <div class="jcExample">
 <div class="article">
  <h1>上传头像拖动例子</h1>
  <table>
   <tr>
    <td>
     <img src="sago.jpg" id="target" alt="Flowers" />
    </td>
    <td>
     <div style="width:100px;height:100px;overflow:hidden;" id="aa">
      <img src="sago.jpg" id="preview" alt="Preview" class="jcrop-preview" />
     </div>
    </td>
   </tr>
  </table>
 </div>
 </div>
 </div>
 </body>
<script type="text/javascript">
new cutImage().init();
function cutImage(){
  var oop = this;
  this.option = {
    x:170,
    y:110,
    w:350,
    h:200,
    t:'target',
    p:'preview',
    o:'aa'
  }
  this.init = function(){
    oop.target();
  }
  this.target = function(){
   $('#'+oop.option['t']).Jcrop({
     onChange: oop.updatePreview,
     onSelect: oop.updatePreview,
     aspectRatio: 1,
     setSelect: [ oop.option['x'], oop.option['y'], oop.option['w'],oop.option['h'] ],
     bgFade:   true,
     bgOpacity: .5
    });
  }
  this.updatePreview = function(obj){
    if (parseInt(obj.w) > 0)
    {
     var rx = $('#'+oop.option['o']).width()/ obj.w;
     var ry = $('#'+oop.option['o']).height()/ obj.h;
     $('#'+oop.option['p']).css({
      width: Math.round(rx*$('#'+oop.option['t']).width()) + 'px',
      height: Math.round(ry*$('#'+oop.option['t']).height()) + 'px',
      marginLeft: '-' + Math.round(rx * obj.x) + 'px',
      marginTop: '-' + Math.round(ry * obj.y) + 'px'
     });
    }
  }
}
</script>
</html>

jquery jcrop结合jquery ajax upload的话,可以使头像上传截取功能,很人性化。

完整实例代码点击此处本站下载。

希望本文所述对大家jQuery程序设计有所帮助。

Javascript 相关文章推荐
JavaScript高级程序设计 DOM学习笔记
Sep 10 Javascript
js文本框输入点回车触发确定兼容IE、FF等
Nov 19 Javascript
Bootstrap学习笔记之css组件(3)
Jun 07 Javascript
JS短信验证码倒计时功能的实现(没有验证码,只有倒计时)
Oct 27 Javascript
Node.js开发教程之基于OnceIO框架实现文件上传和验证功能
Nov 30 Javascript
根据Bootstrap Paginator改写的js分页插件
Dec 25 Javascript
JS实现旋转木马式图片轮播效果
Jan 18 Javascript
jquery submit()不能提交表单的解决方法
Apr 24 jQuery
web前端vue实现插值文本和输出原始html
Jan 19 Javascript
详解vue-admin和后端(flask)分离结合的例子
Feb 12 Javascript
用element的upload组件实现多图片上传和压缩的示例代码
Feb 12 Javascript
详解在Javascript中进行面向切面编程
Apr 28 Javascript
JavaScript学习笔记整理之引用类型
Jan 22 #Javascript
jQuery弹层插件jquery.fancybox.js用法实例
Jan 22 #Javascript
基于JS实现新闻列表无缝向上滚动实例代码
Jan 22 #Javascript
jQuery validate插件实现ajax验证重复的2种方法
Jan 22 #Javascript
jQuery禁用键盘后退屏蔽F5刷新及禁用右键单击
Jan 22 #Javascript
如何利用JS通过身份证号获取当事人的生日、年龄、性别
Jan 22 #Javascript
jQuery解析json格式数据简单实例
Jan 22 #Javascript
You might like
全国FM电台频率大全 - 26 西藏自治区
2020/03/11 无线电
php中判断数组是一维,二维,还是多维的解决方法
2013/05/04 PHP
thinkPHP5 tablib标签库自定义方法详解
2017/05/10 PHP
Laravel 框架控制器 Controller原理与用法实例分析
2020/04/14 PHP
js String对象中常用方法小结(字符串操作)
2012/01/27 Javascript
js 利用image对象实现图片的预加载提高访问速度
2013/03/29 Javascript
JavaScript中最简洁的编码html字符串的方法
2014/10/11 Javascript
基于JS代码实现图片在页面中旋转效果
2016/06/16 Javascript
同步文本框内容JS代码实现
2016/08/04 Javascript
微信小程序中做用户登录与登录态维护的实现详解
2017/05/17 Javascript
vue微信分享到朋友圈 vue微信发送给好友
2018/11/28 Javascript
mocha的时序规则讲解
2019/02/16 Javascript
Bootstrap简单实用的表单验证插件BootstrapValidator用法实例详解
2020/03/29 Javascript
微信小程序实现列表的横向滑动方式
2020/07/15 Javascript
NestJs使用Mongoose对MongoDB操作的方法
2021/02/22 Javascript
Python实现在Linux系统下更改当前进程运行用户
2015/02/04 Python
Python兔子毒药问题实例分析
2015/03/05 Python
Python线程详解
2015/06/24 Python
初步认识Python中的列表与位运算符
2015/10/12 Python
python实现字符串中字符分类及个数统计
2018/09/28 Python
python导入模块交叉引用的方法
2019/01/19 Python
python PIL和CV对 图片的读取,显示,裁剪,保存实现方法
2019/08/07 Python
用Pelican搭建一个极简静态博客系统过程解析
2019/08/22 Python
python 将dicom图片转换成jpg图片的实例
2020/01/13 Python
Selenium+BeautifulSoup+json获取Script标签内的json数据
2020/12/07 Python
详解Css3新特性应用之过渡与动画
2017/01/10 HTML / CSS
数据库面试要点基本概念
2013/10/31 面试题
文言文形式的学生求职信
2013/12/03 职场文书
教师节商场活动方案
2014/02/13 职场文书
企业演讲稿范文大全
2014/05/20 职场文书
领导干部作风整顿剖析材料
2014/10/11 职场文书
党建工作目标管理责任书
2015/01/29 职场文书
525心理健康活动总结
2015/05/08 职场文书
《最后一头战象》读后感:动物也有感情
2020/01/02 职场文书
教你利用Selenium+python自动化来解决pip使用异常
2021/05/20 Python
springboot layui hutool Excel导入的实现
2022/03/31 Java/Android