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 学习书 推荐
Jun 13 Javascript
一些javascript一些题目的解析
Dec 25 Javascript
jQuery bxCarousel实现图片滚动切换效果示例代码
May 15 Javascript
javascript与jquery中跳出循环的区别总结
Nov 04 Javascript
封装了一个支持匿名函数的Javascript事件监听器
Jun 05 Javascript
jquery实现动态操作select选中
Feb 11 Javascript
javascript 实现map集合
Apr 03 Javascript
Bootstrap Table使用方法详解
Aug 01 Javascript
使用JS轻松实现ionic调用键盘搜索功能(超实用)
Sep 06 Javascript
利用JavaScript如何查询某个值是否数组内
Jul 30 Javascript
webpack css加载和图片加载的方法示例
Sep 11 Javascript
JavaScript刷新页面的几种方法总结
Mar 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
php google或baidu分页代码
2009/11/26 PHP
PHP下常用正则表达式整理
2010/10/26 PHP
Linux Apache PHP Oracle 安装配置(具体操作步骤)
2013/06/17 PHP
php ckeditor上传图片文件名乱码解决方法
2013/11/15 PHP
强制PHP命令行脚本单进程运行的方法
2014/04/15 PHP
ThinkPHP3.1基础知识快速入门
2014/06/19 PHP
thinkPHP批量删除的实现方法分析
2016/11/09 PHP
laravel http 自定义公共验证和响应的方法
2019/09/29 PHP
JavaScript 轻松搞定快捷留言功能 只需一行代码
2010/04/01 Javascript
通过Jquery遍历Json的两种数据结构的实现代码
2011/01/19 Javascript
多浏览器兼容性比较好的复制到剪贴板的js代码
2011/10/09 Javascript
原生js实现的贪吃蛇网页版游戏完整实例
2015/05/18 Javascript
JavaScript截取指定长度字符串点击可以展开全部代码
2015/12/04 Javascript
javascript获取wx.config内部字段解决微信分享
2016/03/09 Javascript
JavaScript驾驭网页-DOM
2016/03/24 Javascript
js removeChild 方法深入理解
2016/08/16 Javascript
AngularJS控制器controller给模型数据赋初始值的方法
2017/01/04 Javascript
jQuery表格的维护和删除操作
2017/02/03 Javascript
详解在vue-cli项目中安装node-sass
2017/06/21 Javascript
深入理解vue $refs的基本用法
2017/07/13 Javascript
老生常谈JavaScript面向对象基础与this指向问题
2017/10/16 Javascript
改变vue请求过来的数据中的某一项值的方法(详解)
2018/03/08 Javascript
element-ui 中的table的列隐藏问题解决
2018/08/24 Javascript
详解js删除数组中的指定元素
2018/10/31 Javascript
[47:45]DOTA2-DPC中国联赛 正赛 Phoenix vs Dragon BO3 第一场 2月26日
2021/03/11 DOTA
Python 多线程实例详解
2017/03/25 Python
Python实现感知机(PLA)算法
2017/12/20 Python
Python递归函数 二分查找算法实现解析
2019/08/12 Python
Pytorch上下采样函数--interpolate用法
2020/07/07 Python
应届毕业生专业个人求职自荐信格式
2013/11/20 职场文书
自荐书范文
2013/12/08 职场文书
30岁生日感言
2014/01/25 职场文书
机工车间主任岗位职责
2014/03/05 职场文书
幼儿园大班开学寄语
2014/08/02 职场文书
新入职员工工作总结
2015/10/15 职场文书
Python 全局空间和局部空间
2022/04/06 Python