刘勇虎的官方网站
网站内容包含大前端、服务器开发、Python开发、iOS开发、Android开发、网站维护等技术文章。专注于分享技术经验,职业心得体会,IT优秀文章与教程创作。
Stay hungry,Stay foolish,Stay young
function findPoints(r) {
const top = { x: 0, y: - r };
const left = { x: - r * Math.cos(Math.PI / 6), y: r * Math.sin(Math.PI / 6) };
const right = { x: r * Math.cos(Math.PI / 6), y: r * Math.sin(Math.PI / 6) };
return { top, left, right };
}
const drawTriangle = ({ ctx, x, y, r, angleInDegrees, outlineColor = '#ffffff', color = "#DB0900" } = options) => {
const { top, left, right } = findPoints(r);
const { top: outTop, left: outLeft, right: outRight } = findPoints(r + 5);
ctx.save()
ctx.translate(x, y);
ctx.moveTo(0, 0)
ctx.rotate(angleInDegrees * Math.PI / 180);
// outline
ctx.fillStyle = outlineColor;
// debugger
ctx.beginPath();
ctx.moveTo(outTop.x, outTop.y);
ctx.lineTo(outTop.x, outTop.y);
ctx.lineTo(outLeft.x, outLeft.y);
ctx.lineTo(outRight.x, outRight.y);
ctx.closePath();
ctx.fill();
// main
ctx.fillStyle = color;
ctx.beginPath();
ctx.moveTo(top.x, top.y);
ctx.lineTo(top.x, top.y);
ctx.lineTo(left.x, left.y);
ctx.lineTo(right.x, right.y);
ctx.closePath();
ctx.fill();
ctx.restore()
}