vue-image-handler

一个反对图片自定义裁剪和去底色的插件

github地址(感激star)

预览成果

装置

npm install vue-image-handler# 或者yarn add vue-image-handler

vue我的项目中应用

// main.js// 全局装置应用import VueImageHandler from 'vue-image-handler'Vue.use(VueImageHandler)// 页面独自引入应用import VueImageHandler from 'vue-image-handler'// ...省略其余代码components: { VueImageHandler }

Attributes

名称性能默认值类型可选值
canvas-width画布的宽度380pxString
canvas-height画布的高度252pxString
img-file图片资源Blob/File/String
wipe-color要去除的底色Stringwhite/black
color-diff去底色的容差值20Number1-100
option其余配置(具体配置参数见下表)Object

Option

名称性能默认值类型可选值
outputQuality解决后的图片品质1Number0.1-1
outputType解决后的图片格式pngStringjpeg/png/webp
canMove图片是否能够挪动trueBooleantrue/false
fixedBox固定截图框大小falseBooleantrue/false
cropWidth截图框宽380Number/String380
cropHeight截图框高252Number/String252

Events(通过this.$refs[your ref name].[method]调用)

办法名阐明参数
rotate旋转90°
download下载解决后的图片
getImageUrl获取解决后的图片Base64
clear清空画布和预览图
refresh刷新画布

疾速上手

<template>  <VueImageHandler   ref="vueImageHandler"   :canvas-width="width"   :canvas-height="height"   :img-file="imgFile"   :wipe-color="wipeColor"   :color-diff="colorDiff"  /></template><script> export default {  data() {    return {      imgFile: 'https://cdn.jsdelivr.net/gh/cong1223/cloudimg@master/img/20210613092202.png',      wipeColor: '',      colorDiff: 20,      width: '380px',      height: '252px'    };  },  methods: {   changeCanvasWidth(e) { // 动静批改画布和预览图的宽度      this.width = e.target.value + 'px';      this.$refs.vueImageHandler.refresh();    },    changeCanvasHeight(e) { // 动静批改画布和预览图的高度      this.height = e.target.value + 'px';      this.$refs.vueImageHandler.refresh();    },    changeWipeColor(e) { // 动静批改要去的底色(white or black)      this.wipeColor = e;    },    changeColorDiff(e) { // 动静批改去底色的容差值      this.colorDiff = +e.target.value;    },    pickImage() { // 从本地抉择图片(input file)      this.$refs.filElem.dispatchEvent(new MouseEvent('click'));    },    handleRotate() { // 原图旋转      this.$refs.vueImageHandler.rotate();    },    getFile() { // 从本地抉择图片后获取文件信息      const inputFile = this.$refs.filElem.files[0];      if (inputFile) {        this.imgFile = inputFile;        this.$refs.filElem.value = '';      } else {        return;      }    },    download() { // 下载图片      this.$refs.vueImageHandler.download();    },    getUrl() {      this.$refs.vueImageHandler.getImageUrl(url => {        console.log('解决后的图片', url);      });    },    clear() { // 清空画布      this.$refs.vueImageHandler.clear();    }  } }</script>

更新日志

1.2.8

反对页面内独自援用:`import VueImageHandler from 'vue-image-handler'`

行将更新

1. download和getImageUrl反对自定义图片格式输入