1:安装
npm install vue-pic-clip
2:使用
main.js里面
import VueClip from 'vue-pic-clip'
Vue.use(VueClip)
3:组件内
//图片上传
<template>
<vue-clip style="height:160px;width: 120px;"
:accept="option.accept"
v-model="option.img"
:autoClip="option.autoClip"
:autoClipWidth="option.autoClipWidth"
:autoClipHeight="option.autoClipHeight"
:fixed="option.fixed"
:canMoveBox="option.canMoveBox"
:fixedNumber="option.fixedNumber"
:outputSize="option.outputSize"
@finish="this.finish">上传照片</vue-clip>
</template>
<script>
export default {
data() {
return {
option: {
accept: 'image/jpeg, image/jpg', // 可上传的图片类型
img: '', // 裁剪图片的地址
imageCertId:'',
info: true, // 裁剪框的大小信息
autoClip: true, // 是否开启截图框
outputSize: 0.8, // 裁剪生成图片的质量
outputType: 'jpeg', // 裁剪生成图片的格式
canScale: false, // 图片是否允许滚轮缩放
autoCrop: true, // 是否默认生成截图框
autoClipWidth: 120, // 截图框宽度
autoClipHeight: 160, // 截图框高度
fixedBox: true, // 固定截图框大小 不允许改变
// fixed: true, // 是否开启截图框宽高固定比例
fixedNumber: [1, 1],
full: true, // 是否输出原图比例的截图
canMoveBox: false, // 截图框能否拖动
original: false, // 上传图片按照原始比例渲染
centerBox: false, // 截图框是否被限制在图片里面
infoTrue: true // true 为展示真实输出图片宽高 false 展示看到的截图框宽高
},
}
},
mounted() {
},
methods: {
finish (name, file) {
const isLt200K = file.size <(1024*100);
if (!isLt200K) {
this.$message.error('上传图片大小不能超过 100K!');
return;
}
}
}
}
</script>
<style scoped>
</style>