当前位置:   article > 正文

canvas绘制圆环示例_canvas 绘制多个圆环,中心点一样

canvas 绘制多个圆环,中心点一样

在这里插入图片描述

查看专栏目录

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

如何使用canvas绘制圆环呢?方法其实很简单,在某个位置(x,y),画两个圆,填充上不同的颜色。先画大圆,半径为R+圆环宽度,然后画小圆,半径为R。小圆的颜色同背景色一致,看起来就是个突出的圆环。 下面是大剑师的一个示例,供参考:

示例效果图

在这里插入图片描述

示例源代码(共109行)

/*
* @Author: 大剑师兰特(xiaozhuanlan),还是大剑师兰特(CSDN)
* @此源代码版权归大剑师兰特所有,可供学习或商业项目中借鉴,未经授权,不得重复地发表到博客、论坛,问答,git等公共空间或网站中。
* @Email: 2909222303@qq.com
* @weixin: gis-dajianshi
* @First published in CSDN
* @First published time: 2024-01-03
*/
<template>
	<div class="djs_container">
		<div class="top">
			<h3>canvas绘制圆环</h3>
			<div>大剑师兰特, 还是大剑师兰特,gis-dajianshi</div>
			<h4>
				<el-button type="primary" size="mini" @click="draw()">绘制</el-button>
			</h4>
		</div>
		<div class="dajianshi ">
			<canvas id="dajianshi" ref="mycanvas" width="980" height="490"></canvas>
		</div>

	</div>
</template>
<script>
	export default {
		data() {
			return {
				ctx: null,
				canvas: null,
			}
		},
		mounted() {
			this.setCanvas()
		},
		methods: {
			setCanvas() {
				this.canvas = document.getElementById('dajianshi');
				if (!this.canvas.getContext) return;
				this.ctx = this.canvas.getContext("2d");
			},
			draw() {
				this.drawRing(490, 240, 100, 'red', '#f9f9f9', 50);
			},

			/**
			 * 绘制圆环
			 * @param {* 必填} x x坐标
			 * @param {* 必填} y y坐标
			 * @param {* 必填} inRadius 圆半径
			 * @param {* 必填} outColor 外环颜色
			 * @param {* 必填} inColor 内圆颜色
			 * @param {* 非必填 默认值:20} ringLength 圆环宽度 
			 */
			drawRing(x, y, inRadius, outColor, inColor, ringLength) {
				ringLength = ringLength || 10;
				this.ctx.beginPath();
				this.ctx.arc(x, y, inRadius + ringLength, 0, 2 * Math.PI);
				this.ctx.fillStyle = outColor;
				this.ctx.fill();
				this.ctx.beginPath();
				this.ctx.arc(x, y, inRadius, 0, 2 * Math.PI);
				this.ctx.fillStyle = inColor;
				this.ctx.fill();
			},

		}
	}
</script>

<style scoped>
	.djs_container {
		width: 1000px;
		height: 680px;
		margin: 50px auto;
		border: 1px solid #ff4170;
		position: relative;
	}

	.top {
		margin: 0 auto 0px;
		padding: 10px 0;
		background: #ff4170;
		color: #fff;
	}

	.dajianshi {
		margin: 5px auto 0;
		border: 1px solid #ccc;
		width: 980px;
		height: 490px;
		background-color: #f9f9f9;
	}
</style>


  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37
  • 38
  • 39
  • 40
  • 41
  • 42
  • 43
  • 44
  • 45
  • 46
  • 47
  • 48
  • 49
  • 50
  • 51
  • 52
  • 53
  • 54
  • 55
  • 56
  • 57
  • 58
  • 59
  • 60
  • 61
  • 62
  • 63
  • 64
  • 65
  • 66
  • 67
  • 68
  • 69
  • 70
  • 71
  • 72
  • 73
  • 74
  • 75
  • 76
  • 77
  • 78
  • 79
  • 80
  • 81
  • 82
  • 83
  • 84
  • 85
  • 86
  • 87
  • 88
  • 89
  • 90
  • 91
  • 92
  • 93
  • 94
  • 95

canvas基本属性

canvas基础方法

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/菜鸟追梦旅行/article/detail/254343
推荐阅读
相关标签
  

闽ICP备14008679号