jQuery实现拖动剪裁图片作为头像


Posted in Javascript onDecember 28, 2016

图片上传是许多网站的一个常用的功能,有时需要对上传的图片做初步的选择裁剪,比如上传头像。下面就是一个使用HTML5+jQuery实现的图片上传裁剪特效,可以对选择要上传的图片做缩小、放大、拖动和裁剪,由何问起调试改进,有需要的朋友可以参考一下。在文后附有源码下载。

效果图:

jQuery实现拖动剪裁图片作为头像

需要引用的css文件为style.css,需要引用的js文件为jquery文件,可以到http://hovertree.com/h/bjaf/ati6k7yk.htm选择合适的版本下载,还需引用cropbox.js文件,这些文件在源码里面都有。

代码如下:

<!DOCTYPE html>
<html lang="zh">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1"> 
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>jQuery拖动剪裁图片作为头像代码 - 何问起</title>
<link rel="stylesheet" href="css/style.css" type="text/css" />
</head>
<body>
<div class="hovertreecontainer">
 <div class="imageBox">
 <div class="thumbBox"></div>
 <div class="spinner" style="display: none">Loading...</div>
 </div>
 <div class="action"> 
 <div class="new-contentarea tc"> 
 <a href="javascript:void(0)" class="upload-img">
 <label for="upload-file">上传图像</label>
 </a>
 <input type="file" class="" name="upload-file" id="upload-file" />
 </div>
 <input type="button" id="btnCrop" class="Btnsty_peyton" value="裁切">
 <input type="button" id="btnZoomIn" class="Btnsty_peyton" value="+" >
 <input type="button" id="btnZoomOut" class="Btnsty_peyton" value="-" >
 </div>
 <div class="cropped"></div>
</div>
<script src="http://down.hovertree.com/jquery/jquery-1.11.0.min.js" type="text/javascript"></script>
<script type="text/javascript" src="js/cropbox.js"></script>
<script type="text/javascript">
$(window).load(function() {
 var options =
 {
 thumbBox: '.thumbBox',
 spinner: '.spinner',
 imgSrc: 'img/rgevo2ea.jpg'
 }
 var cropper = $('.imageBox').cropbox(options);
 $('#upload-file').on('change', function(){
 var reader = new FileReader();
 reader.onload = function(e) {
 options.imgSrc = e.target.result;
 cropper = $('.imageBox').cropbox(options);
 }
 reader.readAsDataURL(this.files[0]);
 this.files = [];
 })
 $('#btnCrop').on('click', function(){
 var img = cropper.getDataURL();
 $('.cropped').html('');
 $('.cropped').append('<img src="'+img+'" align="absmiddle" style="width:64px;margin-top:4px;border-radius:64px;box-shadow:0px 0px 12px #7E7E7E;" ><p>64px*64px</p>');
 $('.cropped').append('<img src="'+img+'" align="absmiddle" style="width:128px;margin-top:4px;border-radius:128px;box-shadow:0px 0px 12px #7E7E7E;"><p>128px*128px</p>');
 $('.cropped').append('<img src="'+img+'" align="absmiddle" style="width:180px;margin-top:4px;border-radius:180px;box-shadow:0px 0px 12px #7E7E7E;"><p>180px*180px</p>');
 })
 $('#btnZoomIn').on('click', function(){
 cropper.zoomIn();
 })
 $('#btnZoomOut').on('click', function(){
 cropper.zoomOut();
 })
});
</script>
<div style="text-align:center;margin:50px 0; font:normal 14px/24px 'MicroSoft YaHei';">
<p>适用浏览器:360、FireFox、Chrome、Safari、Opera、傲游、搜狗、世界之窗. 不支持IE8及以下浏览器。</p>
<p>来源:<a href="http://hovertree.com/" target="_blank">何问起</a> <a href="http://hovertree.com/h/bjaf/7x8ev3fh.htm" target="_blank">说明</a></p>
</div>
</body>
</html>

源码下载:
http://wd.3water.com:81//201612/yuanma/hovertreejqimg8_3water.rar

以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,同时也希望多多支持三水点靠木!

Javascript 相关文章推荐
Jquery+JSon 无刷新分页实现代码
Apr 01 Javascript
jquery实现文本框鼠标右击无效以及不能输入的代码
Nov 05 Javascript
关于hashchangebroker和statehashable的补充文档
Aug 08 Javascript
JS将秒换成时分秒实现代码
Sep 03 Javascript
JQuery中的事件及动画用法实例
Jan 26 Javascript
用js写的一个路由(简单实例)
Sep 24 Javascript
JavaScript中原型链存在的问题解析
Sep 25 Javascript
JavaScript Ajax实现异步通信
Dec 14 Javascript
bootstrap轮播模板使用方法详解
Nov 17 Javascript
vue-cli3.X快速创建项目的方法步骤
Nov 14 Javascript
Vue混入mixins滚动触底的方法
Nov 22 Javascript
koa2 数据api中间件设计模型的实现方法
Jul 13 Javascript
JS动态遍历json中所有键值对的方法(不知道属性名的情况)
Dec 28 #Javascript
javascript稀疏数组(sparse array)和密集数组用法分析
Dec 28 #Javascript
JS中闭包的经典用法小结(2则示例)
Dec 28 #Javascript
AngularJS实现网站换肤实例
Feb 19 #Javascript
详解js树形控件—zTree使用总结
Dec 28 #Javascript
js 轮播效果实例分享
Dec 28 #Javascript
JS正则RegExp.test()使用注意事项(不具有重复性)
Dec 28 #Javascript
You might like
全面解析PHP操作Memcache基本函数
2016/07/14 PHP
PHP观察者模式原理与简单实现方法示例
2017/08/25 PHP
PHP中类型转换 ,常量,系统常量,魔术常量的详解
2017/10/26 PHP
win10 apache配置虚拟主机后localhost无法使用的解决方法
2018/01/27 PHP
如何在PHP中生成随机数
2020/06/04 PHP
2007/12/23更新创意无限,简单实用(javascript log)
2007/12/24 Javascript
Fixie.js 自动填充内容的插件
2012/06/28 Javascript
JavaScript等比例缩放图片控制超出范围的图片
2013/08/06 Javascript
iframe窗口高度自适应的实现方法
2014/01/08 Javascript
JS数组去重与取重的示例代码
2014/01/24 Javascript
判断iframe里的页面是否加载完成
2014/06/06 Javascript
JS使用JSON作为参数实例分析
2016/06/23 Javascript
jQuery grep()方法详解及实例代码
2016/10/30 Javascript
npm 下载指定版本的组件方法
2018/05/17 Javascript
webuploader分片上传的实现代码(前后端分离)
2018/09/10 Javascript
tracking.js页面人脸识别插件使用方法
2020/04/16 Javascript
Node Express用法详解【安装、使用、路由、中间件、模板引擎等】
2020/05/13 Javascript
用webAPI实现图片放大镜效果
2020/11/23 Javascript
解析Python中while true的使用
2015/10/13 Python
python语言中with as的用法使用详解
2018/02/23 Python
Django中的forms组件实例详解
2018/11/08 Python
使用python判断jpeg图片的完整性实例
2019/06/10 Python
Python with标签使用方法解析
2020/01/17 Python
Python实现淘宝秒杀功能的示例代码
2021/01/19 Python
python time.strptime格式化实例详解
2021/02/03 Python
CSS3教程(4):网页边框和网页文字阴影
2009/04/02 HTML / CSS
CSS3中的弹性布局em运用入门详解 1em等于多少像素
2021/02/08 HTML / CSS
基于HTML5 Canvas 实现弹出框效果
2017/06/05 HTML / CSS
Goodee官方商店:迷你投影仪
2021/03/15 全球购物
Wiggle澳大利亚:自行车、跑步、游泳商店
2020/11/07 全球购物
英文自荐信
2013/12/19 职场文书
“四风”查摆问题自我剖析材料
2014/09/27 职场文书
感恩的心主题班会
2015/08/12 职场文书
《蟋蟀的住宅》教学反思
2016/02/17 职场文书
Python中OpenCV实现查找轮廓的实例
2021/06/08 Python
python可视化大屏库big_screen示例详解
2021/11/23 Python