Skip to content
彷徨的耗子

vue-cropper

下载 npm install vue-cropper

引入

封装

components 文件夹新建文件 cropper.vue

使用

props

名称 功能 默认值 可选值
img 裁剪图片的地址 url 地址 , base64 , blob
outputSize 裁剪生成图片的质量 1 0.1 ~ 1
outputType 裁剪生成图片的格式 jpg (jpg 需要传入jpeg) jpeg , png , webp
info 裁剪框的大小信息 true true , false
canScale 图片是否允许滚轮缩放 true true , false
autoCrop 是否默认生成截图框 false true , false
autoCropWidth 默认生成截图框宽度 容器的 80% 0 ~ max
autoCropHeight 默认生成截图框高度 容器的 80% 0 ~ max
fixed 是否开启截图框宽高固定比例 false true , false
fixedNumber 截图框的宽高比例 [1, 1] [ 宽度 , 高度 ]
full 是否输出原图比例的截图 false true , false
fixedBox 固定截图框大小 不允许改变 false
canMove 上传图片是否可以移动 true true , false
canMoveBox 截图框能否拖动 true true , false
original 上传图片按照原始比例渲染 false true , false
centerBox 截图框是否被限制在图片里面 false true , false
high 是否按照设备的dpr 输出等比例图片 true true , false
infoTrue true 为展示真实输出图片宽高 false 展示看到的截图框宽高 false true , false
maxImgSize 限制图片最大宽度和高度 2000 0 ~ max
enlarge 图片根据截图框输出比例倍数 1 0 ~ max
mode 图片默认渲染方式 contain contain , cover , 100px , 100% auto

内置方法 和 属性

通过 this.$refs.cropper 调用

属性

属性 说明
this.$refs.cropper.cropW 截图框宽度
this.$refs.cropper.cropH 截图框高度

方法

方法 说明
this.$refs.cropper.startCrop() 开始截图
this.$refs.cropper.stopCrop() 停止截图
this.$refs.cropper.clearCrop() 清除截图
this.$refs.cropper.changeScale() 修改图片大小 正数为变大 负数变小
this.$refs.cropper.getImgAxis() 获取图片基于容器的坐标点
this.$refs.cropper.getCropAxis() 获取截图框基于容器的坐标点
this.$refs.cropper.goAutoCrop 自动生成截图框函数
this.$refs.cropper.rotateRight() 向右边旋转90度
this.$refs.cropper.rotateLeft() 向左边旋转90度

可用回调方法

  • @realTime 实时预览事件
  • @imgMoving 图片移动回调函数
  • @cropMoving 截图框移动回调函数
  • @imgLoad 图片加载的回调, 返回结果 success , error

获取截图内容

获取截图的 base64 数据

获取截图的 blob 数据