HTML5画布绘制实心圆、三角形、五边形、五角星

场景
纯原生canvas绘制,可以自定义位置、颜色等信息。
实现
以下封装成方法,调用后传参即可。图形两角间边距暂时写死,可以自行加减参数来调整。
1.实心圆

function circular(x, y, radius, fillColor, strokeColor){
ctx.beginPath();//开始绘制
ctx.arc(x, y, radius, 0, 2 * Math.PI); //arc 的意思是“弧”
ctx.fillStyle = fillColor; //设置填充颜色
ctx.fill(); //开始填充
ctx.strokeStyle = strokeColor; //将线条颜色设置为蓝色
ctx.setLineDash([]);
ctx.stroke(); //stroke() 方法默认颜色是黑色(如果没有上面一行,则会是黑色)。
}

2.三角形

function triangle(x, y, fillColor){
ctx.beginPath();
ctx.moveTo(x, y); //上顶点
ctx.lineTo(x - 23, y + 22); //左顶点
ctx.lineTo(x + 8, y + 15); //右顶点
ctx.stroke();
ctx.fillStyle = fillColor;
ctx.fill();
}

3.五边形

function pentagon(x, y, fillColor){
ctx.beginPath();
ctx.moveTo(x, y); //顶点
ctx.lineTo(x - 15, y + 10); //最左
ctx.lineTo(x - 8, y + 25); //左下
ctx.lineTo(x + 8, y + 25); //右下
ctx.lineTo(x + 15, y + 10); //最右
ctx.closePath();
ctx.fillStyle = fillColor;
ctx.fill();
}

4.五角星

function pointedStar(x, y, angle){
ctx.beginPath();
ctx.rotate(angle*Math.PI/180); //旋转角度 输入number
ctx.moveTo(x, y);
ctx.lineTo(x + 10, y + 30);
ctx.lineTo(x - 15, y + 11);
ctx.lineTo(x + 15, y + 11);
ctx.lineTo(x - 10, y + 30);
ctx.closePath();
ctx.fillStyle = ‘black’;
ctx.strokeStyle = “rgb(250, 252, 211)”;
ctx.stroke();
ctx.fill();
ctx.restore();
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/659073.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Python爬虫实践指南:利用cpr库爬取技巧

引言 在信息时代,数据是无价之宝。为了获取网络上的丰富数据,网络爬虫成为了不可或缺的工具。在Python这个强大的编程语言中,cpr库崭露头角,为网络爬虫提供了便捷而高效的解决方案。本文将深入探讨如何利用cpr库实现数据爬取的各…

西瓜书读书笔记整理(十二) —— 第十二章 计算学习理论(下)

第十二章 计算学习理论(下) 12.4 VC 维(Vapnik-Chervonenkis dimension)12.4.1 什么是 VC 维12.4.2 增长函数(growth function)、对分(dichotomy)和打散(shattering&…

macOS 上使用 Sublime Text 删除全部空行

1、删除方法 1、打开搜索替换: 使用快捷键Command F打开查找功能。然后点击左下角的.*图标或使用快捷键Command Alt R来启用正则表达式搜索。 2、输入正则表达式: 在查找栏中输入以下正则表达式:^\s*\n 这个正则表达式匹配从行开始到行结束之间的所有空白字符…

扩展学习|商业智能和大数据分析的研究前景(比对分析)

文献来源: Liang T P , Liu Y H .Research Landscape of Business Intelligence and Big Data analytics: A bibliometrics study[J].Expert Systems with Applications, 2018, 111(NOV.):2-10.DOI:10.1016/j.eswa.2018.05.018. 信息和通信技术的快速发展导致了数字…

RocksDB是如何实现存算分离的

核心参考文献: Dong, S., P, S. S., Pan, S., Ananthabhotla, A., Ekambaram, D., Sharma, A., Dayal, S., Parikh, N. V., Jin, Y., Kim, A., Patil, S., Zhuang, J., Dunster, S., Mahajan, A., Chelluri, A., Datye, C., Santana, L. V., Garg, N., & Gawde,…

YOLOv5独家改进:轻量级原创自研 | 一种多尺度的GSConv卷积变体,轻量化的同时能够实现涨点 | 新颖的轻量级网络

💡💡💡本文独家改进:1)基于GSConv提出了一种Multi-Scale Ghost Conv的卷积变体,保证轻量级的同时实现涨点,2)同时结合Bottleneck,设计了一种新颖的轻量级网络。 💡💡💡在多个数据集验证能够涨点,同时跟yolov5s进行参数量对比: parameters、GFLOPs都有大幅…

乐鑫与 Elektor 杂志合作推出特刊,聚焦 AIoT 创新

在新一年的起始之际,我们很荣幸地与 Elektor 合作推出由乐鑫领衔编辑的杂志特刊。欢迎点此阅读电子版本。 Elektor 杂志作为国际电子工程和科技创新的重要平台,自 20 世纪 60 年代起,就引领着电子制造的发展潮流。如今,它已经发展…

【Docker】了解Docker Desktop桌面应用程序,TA是如何管理和运行Docker容器(1)

欢迎来到《小5讲堂》,大家好,我是全栈小5。 这是《Docker容器》序列文章,每篇文章将以博主理解的角度展开讲解, 特别是针对知识点的概念进行叙说,大部分文章将会对这些概念进行实际例子验证,以此达到加深对…

如何写好论文——(4)确立研究目标的两个原则

一、市场需求——大处着眼 不管目前自己的能力和资源是多么的有限,也要眼光长远,不要老是局限于眼下,只做一些细枝末节、无足轻重的工作。 二、自身条件——小事着手 着眼于自身目前的实际情况,踏踏实实从小事做起 引言就是把自…

Leetcode—2396. 严格回文的数字【中等】

2024每日刷题(一零六) Leetcode—2396. 严格回文的数字 算法思想 实现代码 class Solution { public:bool isStrictlyPalindromic(int n) {return false;} };运行结果 之后我会持续更新,如果喜欢我的文章,请记得一键三连哦&…

【linux】文本处理命令-grep、awk、sed使用(1)

作用: grep数据查找定位awk数据切片sed数据修改 类比SQL: grepselect *from tableawkselect field from tablesedupdate table set fieldnew where fieldold 一、grep 1.1 grep* Unix的grep家族包括grep、egrep和fgrep。egrep和fgrep的命令只跟g…

基于simulink的模糊PID控制器建模与仿真,并对比PID控制器

目录 1.课题概述 2.系统仿真结果 3.核心程序与模型 4.系统原理简介 4.1PID控制器原理 4.2 模糊PID控制器原理 5.完整工程文件 1.课题概述 在simulink,分别建模实现一个模糊PID控制器和一个PID控制器,然后将PID控制器的控制输出和模糊PID的控制输出…

剑指offer面试题10 二进制中1的个数

考察点 位运算知识点 位运算针对二进制位进行运算&#xff0c;包括(&)与运算,(|)或运算&#xff0c;(^)异或运算,(~)取反,(<<)左 移位,(>>)右移位,(>>>)无符号右移运算 与运算&#xff1a;0&00,0&10,1&00,1&11 或运算&#xff1a;0…

closest的用法

1. closest的概念 Element.closest() 是一个DOM&#xff08;文档对象模型&#xff09;方法&#xff0c;用于从当前元素开始&#xff0c;沿着DOM树向上遍历&#xff0c;直到找到匹配指定选择器的第一个元素。如果没有找到匹配的元素&#xff0c;则返回 null。 2. closest的使用…

【vue2】路由之 Vue Router

文章目录 一、安装二、基础使用1、简单的示例2、动态路由2.1 定义动态路径参数2.2 获取动态路径的参数2.3 捕获所有路由 3、嵌套路由4、编程式的导航4.1 router.push4.2 router.replace4.3 router.go(n) 5、命名路由6、重定向 三、进阶1、导航守卫1.1 全局前置守卫1.2 全局后置…

模板笔记 ST表 区间选数k

本题链接&#xff1a;用户登录 题目&#xff1a; 样例&#xff1a; 输入 5 3 1 1 2 2 3 1 2 3 3 1 5 输出 4 6 思路&#xff1a; . 根据题意&#xff0c;给出数组&#xff0c;以及多个区间&#xff0c;问这些区间中&#xff0c;最小值之和 和 最大值之和&#xff0c;…

居然可以在大肠杆菌上运行Doom游戏

MIT的学生们成功地在人体细胞&#xff08;大肠杆菌&#xff09;上……运行了Doom游戏。看到第一反应是科幻小说《雪崩》&#xff01;

A ConvNet for the 2020s

前言 论文名称&#xff1a;A ConvNet for the 2020s  发表时间&#xff1a;CVPR2022  code链接&#xff1a; 代码  作者及组织&#xff1a; Zhuang Liu&#xff0c;Hanzi Mao来自Meta和UC Berkeley。 一句话总结&#xff1a;仿照swin-T思想&#xff0c;重新设计ResNet结构&a…

【Python】使用aiohttp编写客户端

对比aiohttp和requests aiohttp 和 requests 是两个常用的 Python HTTP 库&#xff0c;它们有一些明显的区别&#xff0c;主要涉及到同步与异步、性能、用法和适用场景等方面。aiohttp不仅能编写http客户端代码&#xff0c;还可以用于开发服务端。以下内容对比aiohttp和reques…

嵌入式学习记录14

一&#xff1a;string.h 1.strncpy char *strncpy(char *dest, const char *src, size_t n) 定义一个 char * 类型的函数&#xff1b;其中dest为复制到这个地址&#xff0c;src为要复制的目标&#xff1b;n为复制src的前n 个&#xff1b; n < strlen(src) 只拷贝…