版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第cropper.js和exif.js实现头像上传缩放裁剪旋转本文实例为大家分享了cropper.js和exif.js实现头像上传缩放裁剪旋转的具体代码,供大家参考,具体内容如下
做了一个头像上传的小功能,同时处理了ios竖着拍照图片旋转的问题。cropper.js(注意:cropper压缩版的js在手机版版缩放图片会有黑屏和图片飞了的bug,所以建议引入开发版本的cropper)依赖jquery,exif是用来获取拍照信息的,用于修复ios竖着拍照旋转的问题,我用的是amazeui框架,我在文件中也引入。
这是html文件
!doctypehtml
htmllang="zh"
head
metacharset="UTF-8"
metahttp-equiv="X-UA-Compatible"content="IE=edge,chrome=1"
metaname="viewport"content="width=device-width,initial-scale=1.0"
titlecropper图片裁剪缩放/title
linkrel="stylesheet"href="css/amazeui.min.css"
linkrel="stylesheet"href="css/cropper.css"
linkrel="stylesheet"href="css/amazeui.cropper.css"
/head
body
div
labellogo/label
div
ahref="javascript:;"id="up-img-touch"data-am-modal="{target:'#doc-modal-1'}"
imgsrc="picture-2.jpg"id="pic_img"
inputtype="hidden"name="new_pic"id="new_pic"value=""
/a
/div
/div
!--图片上传框--
divid="doc-modal-1"
div
div
ahref="javascript:;"data-am-modal-close关闭/a
h1上传/h1
/div
div
div
div
imgalt=""src=""id="image"
/div
/div
div
div
buttontype="button"上传图片/button
inputtype="file"id="inputImage"
/div
div
spanοnclick="rotateimgleft()"左/span
spanοnclick="rotateimgright()"右/span
/div
div
buttontype="button"
id="up-btn-ok"url="admin/user/upload.action"确定/button
/div
/div
/div
/div
/div
/body
scriptsrc="js/jquery.min.js"charset="utf-8"/script
scriptsrc="js/amazeui.min.js"charset="utf-8"/script
scriptsrc="js/cropper.js"charset="utf-8"/script
scriptsrc="js/exif.js"charset="utf-8"/script
scriptsrc="js/custom_up_img.js"charset="utf-8"/script
/html
这是js文件
$(function(){
'usestrict';
//初始化
var$image=$('#image');
$image.cropper({
aspectRatio:1/1,
viewMode:1,
autoCropArea:0.8,
dragMode:'move',
cropBoxMovable:false,
cropBoxResizable:false,
zoomOnTouch:true,
zoomable:true,
movable:true,
});
var$inputImage=$('#inputImage');
varURL=window.URL||window.webkitURL;
varOrientation
varrotate_num
varblobURL;
if(URL){
$inputImage.change(function(){
varfiles=this.files;
varfile;
if(filesfiles.length){
file=files[0];
if(/^image\/\w+$/.test(file.type)){
blobURL=URL.createObjectURL(file);
$image.attr("src",blobURL)
EXIF.getData(file,function(){
EXIF.getAllTags(this);
Orientation=EXIF.getTag(this,'Orientation');
});
$image.one('built.cropper',function(){
//Revokewhenloadcomplete
URL.revokeObjectURL(blobURL);
}).cropper('reset',true).cropper('replace',blobURL);
$inputImage.val('');
}else{
window.alert('Pleasechooseanimagefile.');
}
}
});
}else{
$inputIp('disabled',true).parent().addClass('disabled');
}
$('#up-btn-ok').on('click',function(){
varimg_src=$image.attr("src");
if(img_src==""){
$('#my-alert').modal('open');
returnfalse;
}
varurl=$(this).attr("url");
varcanvas=$("#image").cropper('getCroppedCanvas');
varcv_img=document.createElement("canvas");
varctx=cv_img.getContext("2d");
varx=canvas.width/2;
vary=canvas.height/2;
cv_img.width=canvas.width;
cv_img.height=canvas.width;
ctx.clearRect(0,0,canvas.width,canvas.height);//先清掉画布上的内容
ctx.translate(x,y);//将绘图原点移到画布中点
if(Orientation==6){
ctx.rotate(Math.PI/2);
}elseif(Orientation==3){
ctx.rotate(-Math.PI/2);
}elseif(Orientation==8){
ctx.rotate(Math.PI/1);
}
ctx.translate(-x,-y);//将画布原点移动
ctx.drawImage(canvas,0,0);
vardata=cv_img.toDataURL("image/jpeg");
$("#pic_img").attr("src",data)
$('#new_pic').val($("#pic_img").attr("src"));
$('#doc-modal-1').modal('close'
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 骨科护理技术操作规范
- 大肠息肉术后运动康复护理
- 预见性护理在康复护理中的应用
- 药物应用护理中的持续质量改进
- 内镜间质瘤患者的心理护理与支持
- 南京公务员试题及答案
- 教案-单元六任务1证件照制作-美图秀秀
- (二)安全用电试卷附答案
- 刨花板铺装工核心实操评优考核试卷含答案
- 薪税师合规测试考核试卷含答案
- 作文格子纸(小学生专用Word版)
- 八年级地理第三次月考试卷
- 贵州义华实业有限责任公司煤矸石提硫建设项目环评报告
- 个人嘉奖登记(报告)表(无水印)
- 泌乳奶牛营养需要
- 水利工程施工监理规范SL288-2014标准参考
- DL-T 1083-2019 火力发电厂分散控制系统技术条件
- 六三制新青岛版四年级下册科学第16课《动物的“家”》课件
- LY/T 2810-2017结构化森林经营技术规程
- GB/T 14996-2010高温合金冷轧板
- 人工起道捣固作业考评表(工务专业)
评论
0/150
提交评论