做为网站前段开发人员来说,用户头像剪裁和上传是一个很常用的功能,一般这个功能涉及到图片的放大,缩小,移动,旋转,和剪裁。下面我们来做一个完整的demo,剪裁后的图片以base64的形式返回,base64怎么上传到后台服务器,很简单,这里不做介绍。
图片的操作:手机端操作和其他手机图片应用操作没有任何区别。
PC端:通过鼠标的滚轮是实现图片的放大缩小,长按左键移动鼠标实现图片的移动,双击图片现实图片的旋转。
在这个demo中,我们使用jQuery的插件(jquery.photoClip.js)完成。【在我的下一个博客我们分析下photoClip的源码实现】。在使用jquery.photoClip.js,我们还得添加几个依赖插件:iscroll-zoom.js(实现图片的移动)、hammer.js、lrz.all.bundle.js。(这3个js扩展库,在我给出的demo下载地址一并给出)。下面是简单实现的源码:
<!doctype html>
<html lang="zh-CN" id="index">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0, minimum-scale=1.0, maximum-scale=1.0, user-scalable=no, minimal-ui" />
<meta name="apple-mobile-web-app-capable" content="yes" />
<meta name="format-detection" content="telephone=no, email=no" />
<meta name="keywords" content="">
<meta name="description" content="">
<title>图片裁剪</title>
<style>
body {
margin: 0;
text-align: center;
}
#clipArea {
margin: auto;
height: 400px;
width: 400px;
}
#file,
#clipBtn {
margin: 20px;
}
#view {
margin: 0 auto;
width: 200px;
height: 200px;
}
</style>
</head>
<body ontouchstart="">
<div id="clipArea"></div>
<input type="file" id="file">
<button id="clipBtn">截取</button>
<div id="view"></div>
<script src="http://libs.baidu.com/jquery/2.1.1/jquery.min.js"></script>
<script src="js/iscroll-zoom.js"></script> <!--实现图片的移动-->
<script src="js/hammer.js"></script>
<script src="js/lrz.all.bundle.js"></script>
<script src="js/jquery.photoClip.js"></script> <!--实现图片的剪裁-->
<script>
//document.addEventListener('touchmove', function (e) { e.preventDefault(); }, false);
var clipArea = new bjj.PhotoClip("#clipArea", { // #clipArea;包含剪裁图片div的ID
size: [260, 260], //剪裁完成的图片height,width
outputSize: [640, 640], //剪裁框的height,width
file: "#file", //文件上传框ID
view: "#view", //预览div的ID
ok: "#clipBtn", //剪裁开始按钮ID
loadStart: function() {
console.log("照片读取中");
},
loadComplete: function() {
console.log("照片读取完成");
},
clipFinish: function(dataURL) {
console.log(dataURL); //剪裁完成后返回的base64.可以直接上传至服务器。
}
});
</script>
</body>
</html>
相关推荐
头像上传,网站,裁剪修改,网站头像上传裁剪修改,直接可以运行,
包含了5个上传头像裁剪预览的效果和源码; 包含.net、php的;模仿开心网、新浪等上传效果
使用js在前端将用户提供的图片剪裁成一个小图片,并上传到服务器的demo。使用了Cropper.js用于图片剪裁,Axios.js用户将剪裁后的数据发送到服务器。后端代码为java开发,实现了接收图片的接口。
上传头像插件,可以剪裁,四方形。
源代码-flash上传头像剪裁预览组件 v2.1.zip 源代码-flash上传头像剪裁预览组件 v2.1.zip 源代码-flash上传头像剪裁预览组件 v2.1.zip 源代码-flash上传头像剪裁预览组件 v2.1.zip 源代码-flash上传头像剪裁预览组件...
10.支持上传头像自定义大小(pSize参数)企业版本 11.支持裁切框自定义大小(pCut参数)企业版本 12。可通过移动、缩放和旋转等操作设置图片的裁剪区域 13.可实时多尺寸预览裁剪图片区域. 14.可通过异步提交裁剪的...
asp源码—flash上传头像剪裁预览组件 asp版 v2.1.zip asp源码—flash上传头像剪裁预览组件 asp版 v2.1.zip asp源码—flash上传头像剪裁预览组件 asp版 v2.1.zip asp源码—flash上传头像剪裁预览组件 asp版 v2.1.zip ...
1.上传并预览,用户可以任意选择区域,支持头像旋转 2.支持上传成功,js 回调函数 3.无论图片过大还是过小,都可以按照固定大小显示 4.支持亮度,对比度,饱和度修饰 5.支持头像拍照保存 6.支持php,asp,jsp,asp...
html5手机端头像剪裁上传【标准版】
一款Flash上传头像剪裁预览组件(全能版)支持asp/php/asp.net/jsp四种网页语言,当然也是适用于HTML 这?a href='http://www.veryhuo.com/z/naozhong/' target='_blank'>闹钟镅缘摹PЧ浅2淮淼模缟贤肌?/p> ...
界面还算可以的一个实现头像上传并剪裁的asp
资源名:asp.net 头像上传及预览剪裁实例源码 资源类型:程序源代码 源码说明: 1.上传并预览,用户可以任意选择区域,支持头像旋转 2.支持上传成功,js 回调函数 3.无论图片过大还是过小,都可以按照固定大小显示 4...
thinkphp + flash上传头像剪裁预览组件
实现头像剪裁成圆形或者一定弧度形状的样式,
jQuery拖动剪裁图片作为头像代码是一款可以上传自己的图片,并将图片进行放大和缩小,以及对图片进行拖动,最后可以将图片剪裁生成新的头像图片。
JavaScript头像裁剪上传组件
1.上传并预览,用户可以任意选择区域,支持头像旋转 2.支持上传成功,js 回调函数 3.无论图片过大还是过小,都可以按照固定大小显示 4.支持亮度,对比度,饱和度修饰 5.支持头像拍照保存 6.支持php,asp,jsp,asp...
flash上传头像剪裁预览组件2.0,支持 php jsp asp.net asp ,支持自定义头像保存路径,很强大的哦
asp版的头像剪裁代码。fancybox+ImgCropper+kindeditor,可更改连接各种系统,关键处都做有标识,无私奉献给大家。
今天介绍的这款flash上传头像功能非常强大,支持php,asp,jsp,asp.net 调用 头像剪裁,预览组件插件。 本组件需要安装Flash Player后才可使用,请从这里下载安装。 更详细"强大的flash头像上传插件(支持旋转、拖拽...