怎么用canvas画围棋棋子,棋子表面的效果和真实棋子纹路相似
时间: 2024-05-14 08:13:15 浏览: 6
可以使用canvas绘制一个圆形作为棋子,然后通过设置填充颜色和边框颜色来模拟棋子的纹路。具体实现可以参考以下代码:
```
var canvas = document.getElementById("myCanvas");
var ctx = canvas.getContext("2d");
// 绘制棋子
function drawPiece(x, y, color) {
ctx.beginPath();
ctx.arc(x, y, 10, 0, 2*Math.PI);
ctx.fillStyle = color;
ctx.strokeStyle = color;
ctx.fill();
ctx.stroke();
var grad = ctx.createRadialGradient(x-3, y-3, 1, x, y, 10);
grad.addColorStop(0, 'rgba(255, 255, 255, 0.8)');
grad.addColorStop(0.3, 'rgba(255, 255, 255, 0.2)');
grad.addColorStop(1, 'rgba(255, 255, 255, 0)');
ctx.arc(x, y, 10, 0, 2*Math.PI);
ctx.fillStyle = grad;
ctx.fill();
}
// 画出棋盘
function drawBoard() {
ctx.beginPath();
for (var i = 0; i < 19; i++) {
ctx.moveTo(15 + i*30, 15);
ctx.lineTo(15 + i*30, 555);
ctx.moveTo(15, 15 + i*30);
ctx.lineTo(555, 15 + i*30);
}
ctx.stroke();
}
// 调用绘制函数
drawBoard();
drawPiece(45, 45, "#000");
```
这段代码会绘制一个标准的19x19的围棋棋盘,并在坐标(45, 45)上绘制一颗黑色棋子。通过调整颜色值和渐变效果,可以得到接近真实棋子的效果。