fabric 电子签

1、引入第三方库

// npm 安装fabric.js
npm install fabric --save


// yarn 安装fabric.js
yarn add fabric --save

2、代码实现

  2-1、HTML

<canvas ref="verify" id="canvas" width="450" height="240" style="border: 1px solid red"> </canvas>
<img :src="dataUrls" style="position: absolute; top: 118px; border: 1px solid"/>
<button @click="saveSigna()">保存签名</button>
<button @click="clearBtn()">清除</button>

  2-2、JS

import { fabric } from "fabric";

export default {
  name: "HelloWorld",
  data() {
    return {
      dataUrls: "",
      msg: "Welcome to Your Vue.js App",
    };
  },
  mounted() {
    this.canvas = new fabric.Canvas("canvas", {
      isDrawingMode: true,
    });
  },
  methods: {
    // 清楚事件
    clearBtn() {
      const ctx = this.$refs.verify.getContext("2d");
      ctx.clearRect(0, 0, 450, 240);
      ctx.beginPath();
      this.canvas._objects = [];
    },
    // 保存事件
    saveSigna() {
      // console.log(this.canvas);
      if (this.canvas._objects.length > 0) {
        let dataUrl = this.canvas.toDataURL({
          format: "png",
          quality: 1,
          enableRetinaScaling: 1,
          multiplier: 1,
        });

        this.dataUrls = dataUrl;
        this.changeToImage(this.dataUrls);
      } else {
        alert("画板不能为空");
      }
    },

    changeToImage(base64) {
      this.clearBtn();
      return `data:image/png;base64,${base64}`;
    },
  },
};

 

 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

生活在北极的企鹅

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值