html 手写签名 代码
时间: 2023-11-14 21:57:46 浏览: 76
以下是一个简单的 HTML 手写签名的代码示例:
```html
<!DOCTYPE html>
<html>
<head>
<title>Handwritten Signature</title>
<style>
canvas {
border: 1px solid #ccc;
}
</style>
</head>
<body>
<h1>Handwritten Signature</h1>
<p>Sign below:</p>
<canvas id="signature-canvas" width="400" height="200"></canvas>
<br>
<button onclick="clearCanvas()">Clear</button>
<button onclick="saveCanvas()">Save</button>
<script>
var canvas = document.getElementById('signature-canvas');
var ctx = canvas.getContext('2d');
var isDrawing = false;
var lastX, lastY;
canvas.addEventListener('mousedown', function(e) {
isDrawing = true;
lastX = e.offsetX;
lastY = e.offsetY;
});
canvas.addEventListener('mousemove', function(e) {
if (isDrawing) {
ctx.beginPath();
ctx.moveTo(lastX, lastY);
ctx.lineTo(e.offsetX, e.offsetY);
ctx.stroke();
lastX = e.offsetX;
lastY = e.offsetY;
}
});
canvas.addEventListener('mouseup', function() {
isDrawing = false;
});
function clearCanvas() {
ctx.clearRect(0, 0, canvas.width, canvas.height);
}
function saveCanvas() {
var dataURL = canvas.toDataURL();
console.log(dataURL);
// send dataURL to server or do something with it
}
</script>
</body>
</html>
```
在这个示例中,我们使用了 Canvas 元素来创建一个可以手写签名的区域。在 `mousedown` 事件中,我们记录了鼠标的位置,然后在 `mousemove` 事件中使用 `lineTo()` 方法来绘制路径。最后在 `mouseup` 事件中,我们停止了绘制。
我们还添加了两个按钮:一个用于清空 Canvas 中的所有内容,另一个用于将签名保存为图片格式(Base64 编码的字符串),并将其发送到服务器或执行其他操作。
阅读全文