帮人做ppt的网站,com后缀的网站,wordpress 注册 邮箱验证,网页美工设计脚本查看专栏目录 canvas实例应用100专栏#xff0c;提供canvas的基础知识#xff0c;高级动画#xff0c;相关应用扩展等信息。canvas作为html的一部分#xff0c;是图像图标地图可视化的一个重要的基础#xff0c;学好了canvas#xff0c;在其他的一些应用上将会起到非常重…
查看专栏目录 canvas实例应用100专栏提供canvas的基础知识高级动画相关应用扩展等信息。canvas作为html的一部分是图像图标地图可视化的一个重要的基础学好了canvas在其他的一些应用上将会起到非常重要的帮助。 文章目录 示例效果图示例源代码共88行canvas基本属性canvas基础方法 如何使用canvas绘制不同样式的五角星呢这里面要确定每个五角星围绕中心点的角度是72度这里封装了一个函数star(ctx, x, y, R, r, angle,fillColor,strokeColor)可以设定不同的值来产生不同样式的五角星。
示例效果图 示例源代码共88行 /*
* Author: 大剑师兰特xiaozhuanlan还是大剑师兰特CSDN
* 此源代码版权归大剑师兰特所有可供学习或商业项目中借鉴未经授权不得重复地发表到博客、论坛问答git等公共空间或网站中。
* Email: 2909222303qq.com
* weixin: gis-dajianshi
* First published in CSDN
* First published time: 2024-01-18
*/
templatediv classdjs_containerdiv classtoph3canvas绘制不同样式的五角星/h3div大剑师兰特, 还是大剑师兰特gis-dajianshi/divh4el-button typeprimary sizemini clickdraw()绘制/el-buttonel-button typedanger sizemini clickclearCanvas()清除/el-button/h4/divdiv classdajianshi canvas iddajianshi refmycanvas width980 height490/canvas/div/div
/template
scriptexport default {data() {return {ctx: null,canvas: null,}},mounted() {this.setCanvas()},methods: {clearCanvas() {this.ctx.clearRect(0, 0, this.canvas.width, this.canvas.height);},setCanvas() {this.canvas document.getElementById(dajianshi);if (!this.canvas.getContext) return;this.ctx this.canvas.getContext(2d);},draw() {let c this.$refs.mycanvas;this.star(this.ctx, 490, 245, 200, 80, 0,red,orange);this.star(this.ctx, 190, 245, 100, 30, 0,green,orange);this.star(this.ctx, 790, 245, 100, 60, 0,blue,orange); },star(ctx, x, y, R, r, angle,fillColor,strokeColor) { //中心点x,中心点y,大半径R,小半径r,旋转角度anglectx.beginPath();for (var i 0; i 5; i) {ctx.lineTo(Math.cos((18 i * 72 - angle) / 180 * Math.PI) * R x, -Math.sin((18 i * 72 - angle) /180 * Math.PI) * R y);ctx.lineTo(Math.cos((54 i * 72 - angle) / 180 * Math.PI) * r x, -Math.sin((54 i * 72 - angle) /180 * Math.PI) * r y);}ctx.closePath();ctx.fillStyle fillColor;ctx.strokeStyle strokeColor;ctx.lineWidth 3;ctx.lineJoin round;ctx.fill();ctx.stroke();}}}
/script
style scoped.djs_container {width: 1000px;height: 680px;margin: 50px auto;border: 1px solid #9944bb;position: relative;}.top {margin: 0 auto 0px;padding: 10px 0;background: #9944bb;color: #fff;}.dajianshi {margin: 5px auto 0;border: 1px solid #ccc;width: 980px;height: 490px;background-color: #f9f9f9;}
/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()