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学习第六章 表单实例
Feb 19 Javascript
工作需要写的一个js拖拽组件
Jul 28 Javascript
DWZ table的原生分页浅谈
Mar 01 Javascript
JavaScript中的eval()函数详解
Aug 22 Javascript
JS实现静止元素自动移动示例
Apr 14 Javascript
javascript创建函数的20种方式汇总
Jun 23 Javascript
js倒计时抢购实例
Dec 20 Javascript
Bootstrap入门书籍之(五)导航条、分页导航
Feb 17 Javascript
分享12个非常实用的JavaScript小技巧
May 11 Javascript
js中获取键盘按下键值event.keyCode、event.charCode和event.which的兼容性详解
Mar 15 Javascript
JavaScript实现简易计算器小功能
Oct 22 Javascript
js实现简单图片拖拽效果
Feb 22 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中$_SERVER的详细参数与说明
2008/07/29 PHP
php实现的树形结构数据存取类实例
2014/11/29 PHP
jQuery 常见操作实现方式和常用函数方法总结
2011/05/06 Javascript
firebug的一个有趣现象介绍
2011/11/30 Javascript
js实现瀑布流的一种简单方法实例分享
2013/11/04 Javascript
JS测试显示屏分辨率以及屏幕尺寸的方法
2013/11/22 Javascript
css+js实现部分区域高亮可编辑遮罩层
2014/03/04 Javascript
php的文件上传入门教程(实例讲解)
2014/04/10 Javascript
jQuery焦点控制图层展示延迟隐藏的方法
2015/03/09 Javascript
JQuery实现可直接编辑的表格
2015/04/16 Javascript
javascript属性访问表达式用法分析
2015/04/25 Javascript
jQuery回到顶部的代码
2016/07/09 Javascript
jQuery实现公告新闻自动滚屏效果实例代码
2016/07/14 Javascript
如何在Angular.JS中接收并下载PDF
2016/11/26 Javascript
bootstarp modal框居中显示的实现代码
2017/02/18 Javascript
详解Vue.js 2.0 如何使用axios
2017/04/21 Javascript
nodejs处理图片的中间件node-images详解
2017/05/08 NodeJs
微信小程序 自定义消息提示框
2017/08/06 Javascript
浅谈一种让小程序支持JSX语法的新思路
2019/06/16 Javascript
JS扁平化输出数组的2种方法解析
2019/09/17 Javascript
[01:06:07]2014 DOTA2国际邀请赛中国区预选赛5.21 DT VS CIS
2014/05/22 DOTA
python3使用tkinter实现ui界面简单实例
2014/01/10 Python
Python编程修改MP3文件名称的方法
2017/04/19 Python
Linux CentOS Python开发环境搭建教程
2018/11/28 Python
修改 CentOS 6.x 上默认Python的方法
2019/09/06 Python
Python3爬虫里关于识别微博宫格验证码的知识点详解
2020/07/30 Python
html5 Canvas实现图片旋转的示例
2018/01/15 HTML / CSS
师范生实习自我鉴定
2013/11/01 职场文书
幼儿园三八妇女节活动方案
2014/03/11 职场文书
国企干部对照检查材料
2014/08/22 职场文书
党员对照检查剖析材料
2014/10/13 职场文书
滞留工资返还协议书
2014/10/19 职场文书
董事长年会致辞
2015/07/29 职场文书
纪念建国70周年演讲稿
2019/07/19 职场文书
总结Python使用过程中的bug
2021/06/18 Python
一文教你快速生成MySQL数据库关系图
2022/06/28 Redis