Draw "X" word use canvas HTML
Before you begin to draw your lines, call beginPath()
:
function drawX(x, y) {
ctx.beginPath();
ctx.moveTo(x - 20, y - 20);
ctx.lineTo(x + 20, y + 20);
ctx.moveTo(x + 20, y - 20);
ctx.lineTo(x - 20, y + 20);
ctx.stroke();
}
Updated code on jsFiddle: http://jsfiddle.net/h4JvJ/23/
Stefan's answer above draws a simple X with 2 lines. If you want a thicker X, then use the following function:
const drawX = (ctx, shape, x, y, size, width) => {
// Start at the top left corner and draw an X
ctx.beginPath();
x -= size;
y -= size;
ctx.moveTo(x, y);
x += width / 2;
y -= width / 2;
ctx.lineTo(x, y);
x += size;
y += size;
ctx.lineTo(x, y);
x += size;
y -= size;
ctx.lineTo(x, y);
x += width / 2;
y += width / 2;
ctx.lineTo(x, y);
x -= size;
y += size;
ctx.lineTo(x, y);
x += size;
y += size;
ctx.lineTo(x, y);
x -= width / 2;
y += width / 2;
ctx.lineTo(x, y);
x -= size;
y -= size;
ctx.lineTo(x, y);
x -= size;
y += size;
ctx.lineTo(x, y);
x -= width / 2;
y -= width / 2;
ctx.lineTo(x, y);
x += size;
y -= size;
ctx.lineTo(x, y);
x -= size;
y -= size;
ctx.lineTo(x, y);
ctx.stroke();
ctx.closePath();
ctx.fillStrokeShape(shape);
};