vue-picture-cut是一个基于Vue.js的图片裁剪组件,它提供了一个可视化的图片裁剪界面,支持鼠标和触摸操作,可以让用户轻松地裁剪图片。
vue-picture-cut图片剪裁处理工具,支持缩放、翻折、旋转、边缘校验、矩形剪裁、任意(椭)圆剪裁等多种功能,且扩展性很强。
使用方法
安装
如果您想使用vue-picture-cut图片裁剪组件,首先您需要安装它,命令如下:
npm install vue-picture-cut
使用
在main.js中全局引用
import Vue from 'vue'; import 'vue-picture-cut/lib/vue-picture-cut.css'; import VuePictureCut from 'vue-picture-cut'; Vue.use(VuePictureCut);
或者在vue文件中单独引用
import { VuePictureCut } from 'vue-picture-cut'; components: { VuePictureCut }, <template> <vue-picture-cut ref="pictureCut" :src="src" :magnification="magnification" :init-angle="initAngle" :msk-option="mskOption" :max-pixel="maxPixel" :encoder-options="encoderOptions" :format="format" :rotate-control="rotateControl" :menu-position="menuPosition" :menu-thickness="menuThickness" :background-color="backgroundColor" @on-change="onChange" /> </template> import VuePictureCut from 'vue-picture-cut'; export default { components: { VuePictureCut }, data() { return { imageUrl: 'https://example.com/my-image.jpg' }; }, methods: { onChange(blob, base64) { console.log(blob, base64); } } };
配置参数
vue-picture-cut支持以下配置参数:
- src:默认:null,图片链接。
- magnification:默认:1.5,画布绘制缩放率,取值大于0,值越大绘制的逻辑像素越高。
- initAngle:载入图片的初始旋转角度。
- maxPixel:导出图片的宽高中较长边的像素,不传时则依据实际图片大小自适应。
- encoderOptions:导出图片的压缩率,不传时按0.8计算,取值范围0~1。
- format:默认:false,导出图片的格式,不传时导出格式为“image/jpeg”,其值可以为“image/png”等浏览器支持格式。
- mskOption:默认值:
{ width: 1, height: 1, isRound: false, resize: true}
- width:number 裁剪框比例宽
- height:number 裁剪框比例高
- isRound:boolean 矩形true,椭圆false
- resize:boolean 裁剪框大小是否可通过拖动改变大小
- color:string 遮罩颜色
- borderColor:string 裁剪框颜色
- rotateControl:默认:false,是否显示旋转控件。
- menuPosition:默认:bottom,菜单栏位置,取值:top、bottom、left、right。
- menuThickness:menuPosition取top、bottom时表示菜单栏高度,menuPosition取left、right时表示菜单栏高度宽度,取值大于0,等于0时隐藏菜单栏。
- backgroundColor:组件背景色。