0.8.0 • Published 4 years ago

clipic v0.8.0

Weekly downloads
12
License
ISC
Repository
github
Last release
4 years ago

Clipic.js

avatar avatar

移动端图片裁剪工具,适用于上传头像并裁剪成指定尺寸,支持导出编码为 base64、blob、file

ps: 目前有一个问题是:iOS 上传图片过大的话,图片会被强制横向旋转,可以做兼容处理:先生成 canvas 后导出 base64,再传给插件进行裁剪。

用手机访问此页面体验:https://teojs.github.io/clipic

或者用手机扫此二维码进入

avatar

npm 方式

$ npm install clipic

在 vue 项目里使用

// xxx.vue
<template>
  <img :src="base64" />
  <input type="file" name="file" accept="image/*" @change="uploadImg" />
</template>
<script>
  import Clipic from 'clipic'
  const clipic = new Clipic()
  export default {
    data () {
      return {
        base64: ''
      }
    }
    methods: {
      uploadImg(event) {
        const files = event.files
        const reader = new FileReader()
        reader.readAsDataURL(files[0])
        reader.onload = img => {
          clipic.getImage({
            width: 500,
            height: 400,
            src: img.target.result,
            onDone: base64 => {
              this.base64 = base64
            }
          })
        }
        event.value = ''
      }
    }
  }
</script>

cdn 方式

<!-- xxx.html -->
<script src="https://unpkg.com/clipic/dist/clipic.min.js"></script>
<script>
  var clipic = new Clipic()
  clipic.getImage({
    // width: 500,
    // height: 400,
    ratio: 16 / 9,
    src: e.target.result,
    // buttonText: ['Cancel', 'Reset', 'Done'],
    name: 'test',
    encode: 'base64', // 支持 base64、blob、file
    type: 'png',
    // quality: '0.9', // 导出图片的质量
    onDone: function(e) {
      document.getElementById('previewImg').src = e
    },
    onCancel: function() {
      console.log('取消裁剪')
    }
  })
</script>

参数说明

字段类型必填默认说明
widthNumber500裁剪宽度
heightNumber500裁剪高度
ratioNumberwidth/height裁剪的比例,当传入ratiowidth/height将无效
srcString需要裁剪的图片,可以是图片链接,或者 base64
typeStringjpeg裁剪后图片的类型,仅支持 jpeg/png 两种
qualityNumber0.9压缩质量(0.1-1)
buttonTextArray'取消', '重置', '完成'底部三个按钮文本
nameStringclipic如果导出编码为 file,则可填图片名
encodeStringbase64导出的格式,支持 base64、blob、file

事件说明

事件回调说明
onDone导出裁剪后的图片编码完成裁剪
onCancel取消裁剪
0.8.0

4 years ago

0.7.0

5 years ago

0.6.1

5 years ago

0.6.0

5 years ago

0.5.0

5 years ago

0.4.0

5 years ago

0.3.3

5 years ago

0.3.2

5 years ago

0.3.1

5 years ago

0.3.0

5 years ago

0.2.1

5 years ago

0.1.0

5 years ago