<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>canvas 线绘制</title>
<style>
#canvas {
background-color: #f9f9f9;
}
</style>
</head>
<body>
<canvas id="canvas">浏览器不支持 canvas </canvas>
</body>
<script>
var canvas = document.getElementById("canvas");
var ctx = canvas.getContext("2d");
canvas.height = 500;
canvas.width = 500;
// 单线:宽 5、圆角
ctx.lineWidth = 5; // 线宽:默认 1px
ctx.strokeStyle = "red"; // 线宽:默认 1px
ctx.lineCap = "round"; // 折线的拐点类型 butt-默认 round-圆角 square-超出方角
ctx.beginPath();
ctx.moveTo(20, 20);
ctx.lineTo(20, 300);
ctx.stroke(); // 线条描边,显示线
// 单线:虚线
ctx.lineWidth = 1; // 重置线宽
ctx.strokeStyle = "#000"; // 重置线条颜色
ctx.setLineDash([5, 10]); // 虚线:片段长度-5 间隔-10
ctx.lineDashOffset = 1; // 虚线偏移量
ctx.beginPath();
ctx.moveTo(40, 20);
ctx.lineTo(40, 300);
ctx.stroke();
// 折线:折线、圆角拐点、闭合
ctx.setLineDash([]); // 重置虚线
ctx.lineWidth = 5;
ctx.lineJoin = "round"; // 折线的拐点类型:miter-默认 round-圆角 bevel-平角
ctx.beginPath();
ctx.moveTo(100, 100);
ctx.lineTo(100, 200);
ctx.lineTo(200, 200);
ctx.lineTo(200, 100);
ctx.closePath(); // 闭合:最终点和初始点将会连线闭合
ctx.stroke();
// 圆弧、圆
// ctx.arc(圆心-x, 圆心-y, 半径-radius, 开始角度-startAngle, 结束角度-endAngle , anticlockwise 逆时针);
ctx.beginPath();
ctx.lineWidth = 1;
ctx.arc(300, 75, 50, 0, Math.PI / 2, true);
ctx.stroke();
ctx.beginPath();
ctx.lineWidth = 1;
ctx.arc(300, 275, 50, 0, Math.PI * 2, true);
ctx.stroke();
// 贝塞尔曲线:ctx.bezierCurveTo(起始横, 起始纵, 控制横, 控制纵, 结束横, 结束纵);
// 贝塞尔曲线生成器:https://cubic-bezier.tupulin.com/#cubic-bezier(0.11,0.68,0.83,0.45)
ctx.beginPath();
ctx.moveTo(50, 50);
ctx.bezierCurveTo(100, 100, 200, 40, 250, 100);
ctx.stroke();
</script>
</html>
canvas 线 绘制
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。
推荐阅读更多精彩内容
- 为建立中文知识库加块砖——中科大胡不归 0. 前言 项目上需要绘制坐标轨迹,找开源组件也是费尽周折,最后发现Can...
- 一、canvas介绍 canvas(画布)是HTML的新标签,它就相当于一张白纸,我们可以利用它绘制出很多酷炫的效...
- 一、概述 在实际的开发当中,我们经常会涉及到绘制路径,这里我们总结一下Path的常用API。 二、基本用法 对于一...