<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();
}
即使我设置ctxt.lineWidth
为 1,线宽似乎也不是 1,而且线条有些拉伸。谁能指出我做错了什么?