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 new fun的执行过程
Aug 05 Javascript
jquery ajax中使用jsonp的限制解决方法
Nov 22 Javascript
解析JavaScript中点号“.”的多义性
Dec 02 Javascript
js实现弹窗插件功能实例代码分享
Dec 12 Javascript
javascript表单验证和Window详解
Dec 11 Javascript
js网页滚动条滚动事件实例分析
May 05 Javascript
js中对函数设置默认参数值的3种方法
Oct 23 Javascript
每天一篇javascript学习小结(基础知识)
Nov 10 Javascript
JS图片等比例缩放方法完整示例
Aug 03 Javascript
Angular外部使用js调用Angular控制器中的函数方法或变量用法示例
Aug 05 Javascript
Node.js实现发送邮件功能
Nov 06 Javascript
利用Vue的v-for和v-bind实现列表颜色切换
Jul 17 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
php中邮箱地址正则表达式实现与详解
2012/04/24 PHP
WordPress主题制作之模板文件的引入方法
2015/12/28 PHP
基于win2003虚拟机中apache服务器的访问
2017/08/01 PHP
解决Laravel5.5下的toArray问题
2019/10/15 PHP
laravel框架创建授权策略实例分析
2019/11/22 PHP
获取Javscript执行函数名称的方法
2006/12/22 Javascript
javascript 获取网页标题代码实例
2014/01/22 Javascript
js检测输入内容全为空格的方法
2014/05/03 Javascript
流量统计器如何鉴别C#:WebBrowser中伪造referer
2015/01/07 Javascript
浅析AngularJS中的生命周期和延迟处理
2015/06/18 Javascript
AngularJS之依赖注入模拟实现
2016/08/19 Javascript
JS原型链 详解及示例代码
2016/09/06 Javascript
简单实现JavaScript弹幕效果
2020/08/27 Javascript
jquery实现限制textarea输入字数的方法
2017/09/06 jQuery
详解JS数值Number类型
2018/02/07 Javascript
在小程序中使用canvas的方法示例
2018/09/17 Javascript
Vue.directive 实现元素scroll逻辑复用
2019/11/29 Javascript
在Python中使用mechanize模块模拟浏览器功能
2015/05/05 Python
基python实现多线程网页爬虫
2015/09/06 Python
Python 绘图和可视化详细介绍
2017/02/11 Python
利用Python写一个爬妹子的爬虫
2018/06/08 Python
Python3 log10()函数简单用法
2019/02/19 Python
python-sys.stdout作为默认函数参数的实现
2020/02/21 Python
html5页面结构_动力节点Java学院整理
2017/07/10 HTML / CSS
YSL圣罗兰美妆美国官网:Yves Saint Lauret US
2016/11/21 全球购物
意大利在线药房:shop-farmacia.it
2019/03/12 全球购物
法国在线药房:DoctiPharma
2020/10/21 全球购物
世界上最大的铁人三项商店:Tri UK
2020/11/04 全球购物
Python如何实现单例模式
2016/06/03 面试题
母亲节演讲稿范文
2014/01/02 职场文书
大学生开西餐厅创业计划书
2014/02/01 职场文书
2014年十一国庆节爱国演讲稿
2014/09/23 职场文书
上市公司财务总监岗位职责
2015/04/03 职场文书
人事任命书范本
2015/09/21 职场文书
《社戏》教学反思
2016/02/22 职场文书
Hive日期格式转换方法总结
2022/06/25 数据库