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获取元素样式属性值的方法
Dec 25 Javascript
仿当当网淘宝网等主流电子商务网站商品分类导航菜单
Sep 25 Javascript
js在数组中删除重复的元素自保留一个(两种实现思路)
Aug 22 Javascript
CSS图片响应式 垂直水平居中
Aug 14 Javascript
详解Node.js模块间共享数据库连接的方法
May 24 Javascript
Javascript之Date对象详解
Jun 07 Javascript
BootStrap下拉框在firefox浏览器界面不友好的解决方案
Aug 18 Javascript
JS+canvas绘制的动态机械表动画效果
Sep 12 Javascript
vue-cli3 DllPlugin 提取公用库的方法
Apr 24 Javascript
Js实现复选框的全选、全不选反选功能代码实例
Feb 28 Javascript
vue中利用three.js实现全景图的完整示例
Dec 07 Vue.js
vue绑定class的三种方法
Dec 24 Vue.js
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
php中json_decode()和json_encode()的使用方法
2012/06/04 PHP
php引用返回与取消引用的详解
2013/06/08 PHP
phpmyadmin打开很慢的解决方法
2014/04/21 PHP
JavaScript TO HTML 转换
2006/06/26 Javascript
JavaScript 继承机制的实现(待续)
2010/05/18 Javascript
jquery蒙版控件实现代码
2010/12/08 Javascript
Extjs4 关于Store的一些操作(加载/回调/添加)
2013/04/18 Javascript
利用Jquery实现可多选的下拉框
2014/02/21 Javascript
将数字转换成大写的人民币表达式的js函数
2014/09/21 Javascript
实例详解ECMAScript5中新增的Array方法
2016/04/05 Javascript
js 递归和定时器的实例解析
2017/02/03 Javascript
详解React Native网络请求fetch简单封装
2017/08/10 Javascript
说说AngularJS中的$parse和$eval的用法
2017/09/14 Javascript
React Native使用Modal自定义分享界面的示例代码
2017/10/31 Javascript
JavaScript实现AOP详解(面向切面编程,装饰者模式)
2017/12/19 Javascript
深入理解 webpack 文件打包机制(小结)
2018/01/08 Javascript
vue项目关闭eslint校验
2018/03/21 Javascript
深入理解Promise.all
2018/08/08 Javascript
node中IO以及定时器优先级详解
2019/05/10 Javascript
JavaScript实现单英文金山打字通
2020/07/24 Javascript
非常实用的jQuery代码段集锦【检测浏览器、滚动、复制、淡入淡出等】
2019/08/08 jQuery
[47:10]完美世界DOTA2联赛PWL S3 LBZS vs Rebirth 第二场 12.16
2020/12/18 DOTA
python统计字符串中指定字符出现次数的方法
2015/04/04 Python
使用Python读写文本文件及编写简单的文本编辑器
2016/03/11 Python
解决jupyter notebook打不开无反应 浏览器未启动的问题
2020/04/10 Python
Python3批量创建Crowd用户并分配组
2020/05/20 Python
基于Python 的语音重采样函数解析
2020/07/06 Python
python下载的库包存放路径
2020/07/27 Python
设计师家具购买和委托在线市场:Viyet
2016/11/16 全球购物
英国最大的运动营养公司之一:LA Muscle
2018/07/02 全球购物
销售辞职报告范文
2014/01/12 职场文书
2014年秋季开学寄语
2014/08/02 职场文书
个人公司授权委托书范本
2014/10/12 职场文书
工会积极分子个人总结
2015/03/03 职场文书
安全教育片观后感
2015/06/17 职场文书
Python爬虫入门案例之爬取去哪儿旅游景点攻略以及可视化分析
2021/10/16 Python