mg-vue-cropper

2.0.0 • Public • Published

mg-vue-cropper

Installation

$ npm i --save mg-vue-cropper

Useage

// 1.Global Registration (in main.js)
import MgCropper from 'mg-vue-cropper'
Vue.use(MgCropper)

OR

// 2.Local Registration (in xxx.vue)
import { cropper } from 'mg-vue-cropper'

components: {
    mgCropper: cropper
}

<!-- Cut Mode -->
<mg-cropper
    ref="mgCropper"
    :width="770"
    :height="300"
    color-primary="#6676FF"
    color-bg="rgba(0, 0, 0, 0.8)"
    :original-url="originalUrl"
    :equi-ratio="false"
    :min-cut-width="16"
    :min-cut-height="16"
    :init-cut-width="16"
    :init-cut-height="16"
    :init-cut-left="0"
    :init-cut-top="0"
    :rotate-visible="true"
    :preview-visible="true"
    preview-height="42%"
    @img-onload="imgOnloadHandle"
    @img-onerror="imgOnerrorHandle" />

<!-- Chartlet Mode -->
<mg-cropper
    ref="mgCropper"
    :width="770"
    :height="300"
    color-primary="#6676FF"
    color-bg="rgba(0, 0, 0, 0.8)"
    :original-url="originalUrl"
    :rotate-visible="true"
    :chartlet-on="true"
    :chartlet-list="chartletList"
    :current-chartlet="currentChartlet"
    :chartlet-init-left="10"
    :chartlet-init-top="10"
    @img-onload="imgOnloadHandle"
    @img-onerror="imgOnerrorHandle">
    <!-- Diy Component or DOM -->
    <chartlet-list
        :chartlet-list="chartletList"
        :current-chartlet="currentChartlet"
        @chose-chartlet="choseChartletHandle" />
</mg-cropper>

Attributes

参数 说明 类型 是否必传 默认值
width mg-cropper容器宽 Number 770
height mg-cropper容器高 Number 300
color-primary 主题色 String #6676FF
color-bg 画布背景色 String rgba(0, 0, 0, 0.8)
original-url 需要裁剪的图片原始URL String
equi-ratio 是否开启等比缩放,默认关闭 Boolean false
min-cut-width 裁剪框的最小宽(相对于原图) Number 16
min-cut-height 裁剪框的最小高(相对于原图) Number 16
init-cut-width 裁剪框的初始宽(相对于原图) Number 16
init-cut-height 裁剪框的初始高(相对于原图) Number 16
init-cut-left 裁剪框的初始位置left(相对于原图) Number 0
init-cut-top 裁剪框的初始位置top(相对于原图) Number 0
rotate-visible 是否显示旋转按钮(默认隐藏) Boolean false
preview-visible 是否显示预览框(默认隐藏) Boolean false
preview-height 预览框的高度 String/Number 42%
chartlet-on 是否开启贴图功能(默认不开启),贴图功能与裁剪功能互斥 Boolean false
chartlet-list 贴图列表 [{ name: '贴图名(请确保有值且唯一)', url: '贴图地址' }] Array []
current-chartlet 选中的贴图对象 { name: '贴图名(请确保有值且唯一)', url: '贴图地址' } Object { name: '', url: '' }
chartlet-init-left 贴图的初始位置left(相对于原图) Number 10
chartlet-init-top 贴图的初始位置top(相对于原图) Number 10

Methods

方法名 说明 参数 返回值
saveImg 保存裁剪图片(会生成blob和blobUrl用于上传和显示)。
参数说明,cutPos : 裁剪区域四个角坐标; cutSize: 裁剪区域尺寸; naturalSize: 原始图片大小; hasChartlet: 是否添加了贴图
Promise { blob, blobUrl, cutPos, cutSize, naturalSize, hasChartlet }
downloadImg 下载裁剪图片 fileName: 下载文件名(不传默认使用时间戳)
setCutBoxSize 手动设置裁剪框的尺寸(相对于原图) width(不小于16px), height(不小于16px)
setCutBoxPos 手动设置裁剪框的位置(相对于原图) left, top
setChartletPos 手动设置贴图的位置(相对于原图) left, top

Slot

name 说明
default插槽,裁剪框右侧区的内容

Events

事件名 说明 回调参数
img-onload 图片加载完成 event
img-onerror 图片加载失败 event
img-onabort 图像加载被中断 event

Npm

mg-vue-cropper

Package Sidebar

Install

npm i mg-vue-cropper

Weekly Downloads

3

Version

2.0.0

License

MIT

Unpacked Size

641 kB

Total Files

8

Last publish

Collaborators

  • wangyuanlin001