怎么用cropper.js和exif.js实现头像上传缩放裁剪旋转
发表于:2026-11-03 作者:千家信息网编辑
千家信息网最后更新 2026年11月03日,本篇内容主要讲解"怎么用cropper.js和exif.js实现头像上传缩放裁剪旋转",感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习"怎么用cropper.j
千家信息网最后更新 2026年11月03日怎么用cropper.js和exif.js实现头像上传缩放裁剪旋转
本篇内容主要讲解"怎么用cropper.js和exif.js实现头像上传缩放裁剪旋转",感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习"怎么用cropper.js和exif.js实现头像上传缩放裁剪旋转"吧!
做了一个头像上传的小功能,同时处理了ios竖着拍照图片旋转的问题。cropper.js(注意:cropper压缩版的js在手机版版缩放图片会有黑屏和图片飞了的bug,所以建议引入开发版本的cropper)依赖jquery,exif是用来获取拍照信息的,用于修复ios竖着拍照旋转的问题,我用的是amazeui框架,我在文件中也引入。
这是html文件
cropper图片裁剪缩放 关闭上传
左 右
这是js文件
$(function() { 'use strict'; // 初始化 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'); var URL = window.URL || window.webkitURL; var Orientation var rotate_num var blobURL; if (URL) { $inputImage.change(function () { var files = this.files; var file; if (files && files.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 () { // Revoke when load complete URL.revokeObjectURL(blobURL); }).cropper('reset', true).cropper('replace', blobURL); $inputImage.val(''); } else { window.alert('Please choose an image file.'); } } }); } else { $inputImage.prop('disabled', true).parent().addClass('disabled'); } $('#up-btn-ok').on('click',function(){ var img_src=$image.attr("src"); if(img_src==""){ $('#my-alert').modal('open'); return false; } var url=$(this).attr("url"); var canvas=$("#image").cropper('getCroppedCanvas'); var cv_img = document.createElement("canvas"); var ctx = cv_img.getContext("2d"); var x = canvas.width/2; var y = 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); } else if(Orientation == 3) { ctx.rotate(-Math.PI/2); } else if(Orientation == 8) { ctx.rotate(Math.PI/1); } ctx.translate(-x,-y);//将画布原点移动 ctx.drawImage(canvas,0,0); var data=cv_img.toDataURL("image/jpeg"); $("#pic_img").attr("src",data) $('#new_pic').val($("#pic_img").attr("src")); $('#doc-modal-1').modal('close'); });});function rotateimgright() { $("#image").cropper('rotate', 90);}function rotateimgleft() { $("#image").cropper('rotate', -90);}function set_alert_info(content){ $("#alert_content").html(content);}到此,相信大家对"怎么用cropper.js和exif.js实现头像上传缩放裁剪旋转"有了更深的了解,不妨来实际操作一番吧!这里是网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!
图片
头像
内容
文件
画布
原点
这是
问题
学习
实用
更深
中点
信息
兴趣
功能
同时
实用性
实际
建议
手机
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
天津市摩尔互联网科技
广州万易互联网科技有限公司
美国互联网保险保险科技
美国互联网科技
互联网科技公司怎么样
美国互联网黑科技
赫美联合互联网科技
掌上梦互联网科技
互联网金融和金融科技
互联网金融科技委员会
深圳市运趣互联网科技有限公司
成都玖崟互联网科技有限公司乐商圈怎么样
科技与互联网的利与弊
须眉科技是互联网公司吗
南山科技园互联网公司有哪些
中国科技创新与世界互联网大会
中和天地互联网科技有限公司
区块链结合互联网科技
第三届互联网大会安防黑科技
科技发展第三阶段互联网时代
互联网黑科技
有木互联网科技
中国最先进互联网科技公司
佳云科技和互联网广告
互联网科技革命什么开始
移动互联网年度科技创新
卡尔迅互联网科技有限公司
中国互联网公司的科技投入
互联网时代高科技布局
颐高云石互联网科技