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 相关文章推荐
ExtJS 设置级联菜单的默认值
Jun 13 Javascript
在次封装easyui-Dialog插件实现代码
Nov 14 Javascript
JavaScript 创建运动框架的实现代码
May 08 Javascript
使用JavaScript 实现各种跨域的方法
May 08 Javascript
window.open 以post方式传递参数示例代码
Feb 27 Javascript
javascript如何操作HTML下拉列表标签
Aug 20 Javascript
利用css+原生js制作简单的钟表
Apr 07 Javascript
javascript 网页进度条简单实例
Feb 22 Javascript
JavaScript 上传文件(psd,压缩包等),图片,视频的实现方法
Jun 19 Javascript
vue自定义表单生成器form-create使用详解
Jul 19 Javascript
微信小程序实现抖音播放效果的实例代码
Apr 11 Javascript
vue实现登录功能
Dec 31 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小偷相关截取函数备忘
2010/11/28 PHP
php指定函数参数默认值示例代码
2013/12/04 PHP
PHP操作Redis数据库常用方法示例
2018/08/25 PHP
JavaScript中void(0)的具体含义解释
2007/02/27 Javascript
将HTMLCollection/NodeList/伪数组转换成数组的实现方法
2011/06/20 Javascript
js 获取class的元素的方法 以及创建方法getElementsByClassName
2013/03/11 Javascript
JS获取几种URL地址的方法小结
2014/02/26 Javascript
select多选 multiple的使用示例
2014/06/16 Javascript
基于Jquery和html5的7款个性化地图插件
2015/11/17 Javascript
Vue.js中用webpack合并打包多个组件并实现按需加载
2017/02/17 Javascript
angular.js4使用 RxJS 处理多个 Http 请求
2017/09/23 Javascript
react-native使用leanclound消息推送的方法
2018/08/06 Javascript
vue二级菜单导航点击选中事件的方法
2018/09/12 Javascript
JavaScript实现飞舞的泡泡效果
2020/02/07 Javascript
写了个监控nginx进程的Python脚本
2012/05/10 Python
给Python的Django框架下搭建的BLOG添加RSS功能的教程
2015/04/08 Python
Python二分查找详解
2015/09/13 Python
django数据库migrate失败的解决方法解析
2018/02/08 Python
详解利用Python scipy.signal.filtfilt() 实现信号滤波
2019/06/05 Python
django 连接数据库 sqlite的例子
2019/08/14 Python
Pytorch模型转onnx模型实例
2020/01/15 Python
Python Tricks 使用 pywinrm 远程控制 Windows 主机的方法
2020/07/21 Python
python+selenium自动化实战携带cookies模拟登陆微博
2021/01/19 Python
用python制作个音乐下载器
2021/01/30 Python
详解html5页面 rem 布局适配方法
2018/01/12 HTML / CSS
美国最好的钓鱼、狩猎和划船装备商店:Bass Pro Shops
2018/12/02 全球购物
Ever New美国:澳大利亚领先的女装时尚品牌
2019/11/28 全球购物
哈萨克斯坦移动和数字技术在线商店:SatelOnline.kz
2020/09/04 全球购物
J2EE面试题大全
2016/08/06 面试题
商务英语专业求职信范文
2014/01/28 职场文书
小学生运动会报道稿
2014/09/12 职场文书
医生党的群众路线教育实践活动个人对照检查材料
2014/09/23 职场文书
部队反四风对照检查材料
2014/09/26 职场文书
2014年质检工作总结
2014/11/26 职场文书
党员年度个人总结
2015/02/14 职场文书
幼儿园六一主持词开场白
2015/05/28 职场文书