From bc48a619a1ddf7661ac4d3e80b1e32a17c696f0c Mon Sep 17 00:00:00 2001 From: 董国庆 <364620639@qq.com> Date: 星期三, 09 四月 2025 10:36:33 +0800 Subject: [PATCH] 优化逻辑,修改审核流程样式 --- src/components/SignatureCanvas.vue | 24 ++++++++++++++++++++++-- 1 files changed, 22 insertions(+), 2 deletions(-) diff --git a/src/components/SignatureCanvas.vue b/src/components/SignatureCanvas.vue index 6375a54..fe6bb27 100644 --- a/src/components/SignatureCanvas.vue +++ b/src/components/SignatureCanvas.vue @@ -164,8 +164,28 @@ confirmSignature() { const canvas = this.$refs.signatureCanvas - const imageData = canvas.toDataURL('image/png') - this.$emit('confirm', imageData) + const ctx = this.context + + // 保存当前画布内容 + const imageData = ctx.getImageData(0, 0, canvas.width, canvas.height) + + // 先填充背景色 + ctx.fillStyle = 'rgba(239, 248, 250, 1)' + ctx.fillRect(0, 0, canvas.width, canvas.height) + + // 创建一个临时画布来保存签名内容 + const tempCanvas = document.createElement('canvas') + tempCanvas.width = canvas.width + tempCanvas.height = canvas.height + const tempCtx = tempCanvas.getContext('2d') + tempCtx.putImageData(imageData, 0, 0) + + // 将签名内容绘制到主画布上 + ctx.drawImage(tempCanvas, 0, 0) + + // 导出图片 + const signatureImage = canvas.toDataURL('image/png') + this.$emit('confirm', signatureImage) } }, beforeDestroy() { -- Gitblit v1.7.1