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 数据