背景:我们在项目中常常都会有更换登陆人头像的需求,这个很简单直接上传一张图片展示就可以了,但是如果上传的图片需要剪裁成正方形的话就需要我们来做一些特殊的处理;

这里我们会用到一个图片剪裁插件:cropper.js

github地址:https://github.com/fengyuanchen/cropperjs
在github中有插件初始化的代码大家按部就班到自己的项目中,先实现初始化看看样子;
我这里针对于cropper.js插件做一些特殊的配置,实现正方形裁切;
代码:

const image = this.$refs.img //获取图片元素
const cropper = new Cropper(image,{viewMode: 1, //裁切框的位置,0可以选择图片外,1只能在图片内dragMode: 'move',  //拖动方式,crop、move、noneaspectRatio: 1,  //截取的比例autoCropArea: 1, //撑满画布cropBoxMovable: false, //截取框不可移动corpBoxResizable: false, //截取框缩放功能background: false, //背景movable: true //画布是否可以移动})

裁切后的图片如何处理?下面有两种方式。
代码:

//一种是基于服务端进行裁切getData 方法获取裁切参数,(兼容性好)
// console.log(this.cropper.getData())//纯客户端的裁切使用getCroppedCanvas 获取裁切的文件对象(低版本的ie不支持)
this.cropper.getCroppedCanvas().toBlob(blob => {const formData = new FormData()formData.append('photo',blob)//直接把formData发送个后端接口就可以了
})

然后接口请求成功会返回一个http地址的图片,然后我们把头像图片替换就可以了;
这样就实现了更换头像裁切的功能;

工作之余 用博客记录自己 希望有能帮助到各位看官
如有错误或不全面的地方望各位能提点一二和留下宝贵意见

前端图片裁剪cropper.js相关推荐

  1. 图片裁剪 cropper.js 上传组件封装 vue

    //HTML cropper.js 文档地址: https://github.com/fengyuanchen/cropperjs/blob/master/README.md <template ...

  2. js截取图片 裁剪图片之cropper.js插件用法详解

    js截取图片 裁剪图片之cropper.js插件用法详解 源码:https://github.com/fengyuanchen/cropper 引入+使用 <link href="/p ...

  3. 图片裁剪的js有哪些(整理)

    图片裁剪的js有哪些(整理) 一.总结 一句话总结:如果用了amaze框架就去amaze框架的插件库里面找图片裁剪插件,如果没用,jcrop和cropper都不错. 1.amazeui的插件库中有很多 ...

  4. 前端图片裁剪 cropperjs的简单使用

    https://github.com/fengyuanchen/cropperjs 演示 <!DOCTYPE html> <html lang="zh">& ...

  5. 【cropperjs】优秀、优雅的前端图片裁剪库

    cropperjs下载 npm i cropperjs npm官网- https://www.npmjs.com/package/cropperjs cropperjs关键参数 aspectRatio ...

  6. 前端图片上传那些事儿

    本文讲的图片上传,主要是针对上传头像的.大家都知道,上传头像一般都会分成以下 4 个步骤: 选择图片 -> 预览图片 -> 裁剪图片 -> 上传图片 接下来,就详细的介绍每个步骤具体 ...

  7. 前端图片上传并且裁切

    本文讲的图片上传,主要是针对上传头像的.大家都知道,上传头像一般都会分成以下 4 个步骤: 选择图片 -> 预览图片 -> 裁剪图片  -> 上传图片 接下来,就详细的介绍每个步骤具 ...

  8. anguarjs 上传图片预览_前端图片上传那些事儿

    本文转自:掘金 作者:chess 前言 本文讲的图片上传,主要是针对上传头像的.大家都知道,上传头像一般都会分成以下 4 个步骤: 选择图片 -> 预览图片 -> 裁剪图片 -> 上 ...

  9. html5 手机相册裁剪,H5的手机图片裁剪特效

    H5的手机图片裁剪特效 js代码 //document.addEventListener('touchmove', function (e) { e.preventDefault(); }, fals ...

最新文章

  1. 她,诗人拜伦之女,英国数学家,历史上第一位程序员
  2. unity game和scene效果不一样_不同的真石漆装饰效果也是不一样的
  3. Mysql中几种插入效率的实例对比
  4. python3 使用 pi3 安装软件时候,报错找不到 SSL 附解决方法
  5. asp.net core 读取连接字符串
  6. 奥数 python_奥数赛事china夺得冠军!简单思路用Python解经典数学题
  7. bind mysql django_Django+bind dlz DNS管理平台
  8. python fortran混编 ctypes_关于python调用fortran编译的dll的问题
  9. java反汇编pdf_java反汇编探究(1)---javap.exe (转自高山仰止百度空间)
  10. 使用php下载网络图片有哪些方法,php下载网络图片常用的三个方法总结
  11. 零基础搭建Hadoop大数据处理-初识
  12. Xshell上传文件到Centos服务器
  13. 云盘+Git GUI实现云盘文件版本控制
  14. 让我们自己来破解命运外挂999
  15. 第三方支付的流程分析与总结
  16. 网络游戏制作---坦克大战(1)
  17. python爬取公众号之 创建个人微信公众号
  18. python人名查电话(字典)_Python基础练习——使用字典存储电话薄
  19. 资源分享——免费的高端PPT模板网址
  20. PCIE Capability ID

热门文章

  1. SQL系统表及DBCC内容,不断加入
  2. 计算机安全培训教案,小班寒假前安全教育教案
  3. 中国的博客论坛都有那些
  4. 企业级的应用软件开发和运行的环境
  5. 如何在ASP.Net Core中使用Glimpse
  6. 字节软件测试学习,软件测试中http_load和Glimpse工具的学习
  7. 从Azure命令行流式传输诊断跟踪日志(以及Glimpse!)
  8. java登录的sql语句,如何获取执行过的所有sql语句
  9. pyqtgraph基础入门(五):绘制动态坐标轴
  10. 漫水填充(泛洪填充、油漆桶)的C#实现(解决堆溢出问题)