<body>
<canvas id="myCanvas" style="border:1px solid #000000; width: 800px;height:800px">
</canvas>
</body>
私はこのように定義されたキャンバスを持っています。そして、ビューの準備ができたら、キャンバスのグラフィックの上に矢印を描きます。
window.onload = function() {
var c = document.getElementById("myCanvas");
var ctx = c.getContext("2d");
ctx.fillStyle = "#000000";
ctx.fillRect(0, 0, 800, 800);
drawArrow(100, 100, 100, 20, ctx);
};
function drawArrow(x, y, w, h, ctxt) {
var headWidth = 10;
ctxt.beginPath();
ctxt.strokeStyle = "#FF0";
ctxt.moveTo(x, y + (h / 2));
ctxt.lineTo(x + w, y + (h / 2));
//To Draw Arrow Head
ctxt.moveTo((x + w) - headWidth, y + (h / 2));
ctxt.lineTo((x + w) - (2 * headWidth), y);
ctxt.lineTo((x + w), y + (h / 2));
ctxt.lineTo((x + w) - (2 * headWidth), y + h);
ctxt.lineTo((x + w) - headWidth, y + (h / 2));
//To Draw Arrow Tail
ctxt.moveTo(x + (headWidth), y + (h / 2));
ctxt.lineTo(x, y);
ctxt.lineTo(x + (2 * headWidth), y + (h / 6));
ctxt.lineTo(x + (2 * headWidth), y + (h * (3 / 4)));
ctxt.lineTo(x, y + h);
ctxt.lineTo(x + headWidth, y + (h / 2));
ctxt.lineWidth = 1;
ctxt.stroke();
}
1に設定ctxt.lineWidth
しても、線幅が1に見えず、線が少し伸びています。誰かが私が間違っていることを指摘できますか?