湛江做网站咨询电话,企业vi设计公司标准版,有资源的公众号,自己做轴承网站canvas实例应用100 专栏提供canvas的基础知识#xff0c;高级动画#xff0c;相关应用扩展等信息。 canvas作为html的一部分#xff0c;是图像图标地图可视化的一个重要的基础#xff0c;学好了canvas#xff0c;在其他的一些应用上将会起到非常重要的帮助。 文章目录 bez… canvas实例应用100 专栏提供canvas的基础知识高级动画相关应用扩展等信息。 canvas作为html的一部分是图像图标地图可视化的一个重要的基础学好了canvas在其他的一些应用上将会起到非常重要的帮助。 文章目录 bezierCurveTo()参数说明示例效果图示例源代码共67行canvas基本属性canvas基础方法 贝塞尔曲线除了可以用在设计中划出平滑的流线型曲线外可以可以用于动画中制作平滑的动画效果.Canvas 提供了方法
bezierCurveTo() 用来绘制三次贝塞尔曲线. ctx.bezierCurveTo(cp1x, cp1y, cp2x, cp2y, x, y); 方法需要三个点。 第一、第二个点是控制点第三个点是结束点 起始点是当前路径的最后一个点绘制贝赛尔曲线前可以通过调用 moveTo() 进行修改
bezierCurveTo()参数说明 cp1x 第一个控制点的 x 轴坐标 cp1y 第一个控制点的 y 轴坐标 cp2x 第二个控制点的 x 轴坐标 cp2y 第二个控制点的 y 轴坐标 x 结束点的 x 轴坐标 y 结束点的 y 轴坐标 bezierCurveTo() 方法绘制出来的是虚拟路径需要使用 stroke() 实体化
示例效果图 示例源代码共67行
/*
* Author: 大剑师兰特xiaozhuanlan还是大剑师兰特CSDN
* 此源代码版权归大剑师兰特所有可供学习或商业项目中借鉴未经授权不得重复地发表到博客、论坛问答git等公共空间或网站中。
* Email: 2909222303qq.com
* weixin: gis-dajianshi
* First published in CSDN
* First published time: 2023-12-02
*/
templatediv classcontainerdiv classtoph3canvas绘制贝塞尔曲线/h3div大剑师兰特, 还是大剑师兰特gis-dajianshi/div/divdiv classdajianshi canvas iddajianshi width800 height400 /canvas/div/div
/template
scriptexport default {data() {return {}},mounted() {this.getdata()},methods: {getdata() {var canvas document.getElementById(dajianshi);if (!canvas.getContext) return;var ctx canvas.getContext(2d);// 绘制圆弧ctx.strokeStyle #f00ctx.beginPath();ctx.moveTo(173,126)ctx.bezierCurveTo(117,87,86,260,649,337);ctx.stroke(); },}}
/scriptstyle scoped.container {width: 1000px;height: 600px;margin: 50px auto;border: 1px solid green;position: relative;}.top {margin: 0 auto 0px;padding: 10px 0;background: purple;color: #fff;}.dajianshi {margin: 50px auto 0;width: 800px;height: 400px;background:#f6f6f6;}
/style
canvas基本属性
属性属性属性canvasfillStylefilterfontglobalAlphaglobalCompositeOperationheightlineCaplineDashOffsetlineJoinlineWidthmiterLimitshadowBlurshadowColorshadowOffsetXshadowOffsetYstrokeStyletextAligntextBaselinewidth
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()