canvas. 复选框
时间: 2023-12-05 21:40:01 浏览: 38
以下是一个使用canvas绘制复选框的例子:
```html
<!DOCTYPE html>
<html>
<head>
<title>Canvas Checkbox</title>
<style>
canvas {
border: 1px solid black;
}
</style>
</head>
<body>
<canvas id="myCanvas" width="200" height="200"></canvas>
<script>
var canvas = document.getElementById("myCanvas");
var ctx = canvas.getContext("2d");
// 绘制复选框
function drawCheckbox(x, y, size, checked) {
ctx.beginPath();
ctx.rect(x, y, size, size);
ctx.stroke();
if (checked) {
ctx.beginPath();
ctx.moveTo(x, y);
ctx.lineTo(x + size, y + size);
ctx.moveTo(x + size, y);
ctx.lineTo(x, y + size);
ctx.stroke();
}
}
// 初始化复选框
var checkboxSize = 20;
var checkboxChecked = false;
drawCheckbox(10, 10, checkboxSize, checkboxChecked);
// 点击复选框
canvas.addEventListener("click", function(event) {
var rect = canvas.getBoundingClientRect();
var canvasClickX = event.clientX - rect.left;
var canvasClickY = event.clientY - rect.top;
if (canvasClickX >= 10 && canvasClickX <= 10 + checkboxSize && canvasClickY >= 10 && canvasClickY <= 10 + checkboxSize) {
checkboxChecked = !checkboxChecked;
ctx.clearRect(0, 0, canvas.width, canvas.height);
drawCheckbox(10, 10, checkboxSize, checkboxChecked);
}
});
</script>
</body>
</html>
```