zoukankan      html  css  js  c++  java
  • vue-cropperjs 图片裁剪上传功能使用方法记录

    引入:

    官网:https://www.npmjs.com/package/vue-cropperjs

    控制台输入:

    npm install --save vue-cropperjs

    vue 项目中引入:

    import Cropper from 'cropperjs'
    
    let projectEditVue = new Vue({
      el: '#detailEdit',
      delimiters: ['{[', ']}'],
      components: {
        Cropper,
      },
      data () {
        return {}
      }
    })
    
    Vue.use({
      projectEditVue,
    })

    初始化裁剪框:

     html:

    js:

    mounted () {
        // 初始化裁剪框
        var image = document.getElementById('image')
        this.cropper = new Cropper(image, {
          guides: false, // 是否在剪裁框上显示虚线
          aspectRatio: 420 / 213, // 设置剪裁容器的比例
          minContainerHeight: 319.5,
          minContainerWidth: 630,
          dragMode: 'move', // 移动 canvas
          zoomOnWheel: true, // 是否允许通过鼠标滚轮来缩放图片
          background: true, // 是否在容器上显示网格背景
          rotatable: true, // 是否允许旋转图片
          ready () {
            this.cropper.crop()
          },
        })
    },  

    上传图片:

        confirm () {
          let vm = this
          vm.cropper.getCroppedCanvas({
             420,
            height: 213,
            fillColor: '#fff',
            imageSmoothingEnabled: false,
            imageSmoothingQuality: 'high',
          }).toBlob(function (blob) {
            let croppedImage = new File([blob], vm.logoName, { lastModified: Date.now() })
            api.media.uploadImageTo('project_logo')({
              file: croppedImage,
            }).then((response) => {
              if (response.status === 200) {
                let res = response.data.data[0]
                vm.cropper.replace(res.download_url)
              }
            })
          })
        },
    

      

    下面说下放大缩小左右旋转的裁剪工具:

      根据 html 那张图可见,给四个工具图片绑定四个事件,分别是:zoomIn  zoomOut  rotateLeft  rotateRight, 对应的方法写法为:

    zoomIn () {
      this.cropper.zoom(-0.1)
    },
    zoomOut () {
      this.cropper.zoom(0.1)
    },
    rotateLeft () {
      this.cropper.rotate(-90)
    },
    rotateRight () {
      this.cropper.rotate(90)
    }, 
  • 相关阅读:
    Asp.Net MVC3.0中防止跨站的POST
    .NET实现字符串base64编码
    silverlight调用MVC WebApi方法
    MVC实现上传图片的方法
    ASP.NET使用文件上传控件上传图片
    设置网页icon标志
    C# 连接EXCEL 和 ACCESS
    javascript前进、后退、刷新的实现
    DataTable数据统计方法
    常量指针和指针常量
  • 原文地址:https://www.cnblogs.com/zhangym118/p/10986280.html
Copyright © 2011-2022 走看看