canvas实例应用100+ 专栏提供canvas的基础知识,高级动画,相关应用扩展等信息。
canvas作为html的一部分,是图像图标地图可视化的一个重要的基础,学好了canvas,在其他的一些应用上将会起到非常重要的帮助。

文章目录

    • arc() 参数说明
    • 示例效果图
    • 示例源代码(共73行)
    • canvas基本属性
    • canvas基础方法

arc() 用于绘制圆弧,圆弧路径的圆心在 (x, y) 位置,半径为 r ,根据anticlockwise (默认为顺时针)指定的方向从 startAngle 开始绘制,到 endAngle 结束。

ctx.arc(x, y, radius, startAngle, endAngle, anticlockwise);

arc() 参数说明

x 圆弧中心(圆心)的 x 轴坐标
y 圆弧中心(圆心)的 y 轴坐标
radius 圆弧的半径
startAngle 圆弧的起始点, x轴方向开始计算,单位以弧度表示
endAngle 圆弧的终点, 单位以弧度表示
anticlockwise 可选, bool 类型 ,如果为 true,逆时针绘制圆弧,反之,顺时针绘制,默认为 false

示例效果图

示例源代码(共73行)

/** @Author: 大剑师兰特(xiaozhuanlan),还是大剑师兰特(CSDN)* @此源代码版权归大剑师兰特所有,可供学习或商业项目中借鉴,未经授权,不得重复地发表到博客、论坛,问答,git等公共空间或网站中。* @Email: 2909222303@qq.com* @weixin: gis-dajianshi* @First published in CSDN* @First published time: 2023-12-02*/<template><div class="container"><div class="top"><h3>canvas绘制圆弧、圆形</h3><div>大剑师兰特, 还是大剑师兰特,gis-dajianshi</div></div><div class="dajianshi "><canvas id="dajianshi" width="800" height="400" ></canvas></div></div></template><script>export default {data() {return {}},mounted() {this.getdata()},methods: {getdata() {var canvas = document.getElementById('dajianshi');if (!canvas.getContext) return;var ctx = canvas.getContext("2d");// 绘制圆弧ctx.strokeStyle = "#f00"ctx.beginPath();ctx.arc(200,200,100,0 * Math.PI /180,90 * Math.PI /180 );ctx.stroke();// 绘制圆型ctx.strokeStyle = "#0f0"ctx.beginPath();ctx.arc(600,200,100,0,2 * Math.PI );ctx.stroke();},}}</script><style scoped>.container {width: 1000px;height: 600px;margin: 50px auto;border: 1px solid green;position: relative;}.top {margin: 0 auto 0px;padding: 10px 0;background: darkorange;color: #fff;}.dajianshi {margin: 50px auto 0;width: 800px;height: 400px;background:#f6f6f6;}</style>

canvas基本属性

属性属性属性
canvasfillStylefilter
fontglobalAlphaglobalCompositeOperation
heightlineCaplineDashOffset
lineJoinlineWidthmiterLimit
shadowBlurshadowColorshadowOffsetX
shadowOffsetYstrokeStyletextAlign
textBaselinewidth

canvas基础方法

方法方法方法
arc()arcTo()addColorStop()
beginPath()bezierCurveTo()clearRect()
clip()close()closePath()
createImageData()createLinearGradient()createPattern()
createRadialGradient()drawFocusIfNeeded()drawImage()
ellipse()fill()fillRect()
fillText()getImageData()getLineDash()
isPointInPath()isPointInStroke()lineTo()
measureText()moveTo()putImageData()
quadraticCurveTo()rect()restore()
rotate()save()scale()
setLineDash()setTransform()stroke()
strokeRect()strokeText()transform()
translate()