Vue3数字签名

下载插件:cnpm install vue-esign --save

网页展示

代码:

<template>
  <div>
    <vue-esign ref="esign" :width="900" :height="200" :isCrop="isCrop" ::lineWidth="6"
               lineColor="#000000"
               bgColor="#ffffff"
               style="border:3px dashed #ccc"
               />

    <button @click="handleGenerate">生成图片</button>

    <div style="margin-top: 20px">
      img: <img :src="resultImg" alt="result"/>
    </div>

  </div>
</template>

<script setup>
import { ref ,onMounted } from 'vue'
import vueEsign from 'vue-esign'

const esign = ref()
const resultImg = ref('')
const isCrop = ref(true)

//  生成图片
const handleGenerate = () => {
  esign.value.generate().then(res => {
    console.log(res)
    resultImg.value = res
  })
}

//  绘制区域样式
const drawBackground = () => {
  let ctx=esign.value.canvasTxt

  // 设置背景文字的样式
  const fontSize = 30
  ctx.font = `${fontSize}px Arial`
  ctx.fillStyle = '#ccc' // 透明灰色背景文字

  // 获取要绘制的背景文字
  const backgroundText = '签名区'

  // 将文字绘制在Canvas的中心位置
  const textWidth = ctx.measureText(backgroundText).width
  const canvasCenterX = esign.value.width / 2
  const canvasCenterY = esign.value.height / 2
  const textX = canvasCenterX - textWidth / 2
  const textY = canvasCenterY + fontSize / 3

  ctx.fillText(backgroundText, textX, textY)
}

onMounted(() => {
  drawBackground()
})

</script>

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值