浅谈使用canvas绘制多边形
2024-08-28 10:35:03
本文主要使用坐标轴的使用来绘制多边形,点位则都是在y轴上寻找,这种方法能够更好的理解图形与修改。
//id为html里canvas标签的属性id;
//x,y为坐标轴的起始位置,因为canvas默认坐标轴在左上角
//color为填充图形颜色
//...side为边,如果有5个参数则绘制出来的为五边形,6个就是六边形
var draw = function(id, x, y, color, ...side){
var c = document.getElementById(id);
var ctx = c.getContext("2d");
//移动起始坐标轴
ctx.translate(x,y);
ctx.fillStyle = color;
//坐标轴旋转的角度
var angle = 360/(side.length);
ctx.beginPath();
//第一个点位
ctx.moveTo(0,-side[0])
for(let i=1; i<side.length; i++){
//旋转坐标轴
ctx.rotate(angle*Math.PI/180);
ctx.lineTo(0,-side[i]);
}
//填充
ctx.fill();
ctx.closePath();
}
draw('mycanvas',50,50,'#F0F0F0',50,50,50,50,50,50);
draw('mycanvas',0,0,'#E0E0E0',25,25,25,25,25,25);
draw('mycanvas',0,0,'#FF9797',25,25,20,20,40,25);
这张图片是代码执行后的结果
最新文章
- Html5 舞动的雨伞
- Sqli-LABS通关笔录-15
- javascript 中关于对象转换数字值的一些特点
- C语言原子接口与实现
- vijos 1037 ***
- 基础学习总结(八)--HttpClient
- C# 条码标签打印程序,RDLC报表动态显示多条码标签的方法
- php实现调用微信上传照片然后保存至服务器与数据库
- MVC-Model数据注解(一)-系统(DataAnnotations)
- HTML与CSS入门——第十四章 使用边距、填充、对齐和浮动
- 计算机程序的思维逻辑 (63) - 实用序列化: JSON/XML/MessagePack
- JS实现日历控件选择后自动填充
- 前台跨站点获取session
- thinkphp5URL和路由
- gcd 二进制/循环
- TCP连接的3次握手和4次挥手
- Eloquent JavaScript #02# program_structure
- QT学习相关
- Go 语言编程规范
- 微信小程序入门实例之记事本
热门文章
- asp.net上传超大文件
- 超大文件上传方案(ASP.NET)
- Java——GUI
- Internet History, Technology, and Security(week5)——Technology: Internets and Packets
- Spring Cloud架构教程 (七)消息驱动的微服务(核心概念)【Dalston版】
- Java基础之数组类型
- 170829-关于AOP面向切面编程
- 大数据笔记(二十)——NoSQL数据库之MemCached
- 《SQL Server 2012 T-SQL基础》读书笔记 - 9.事务和并发
- webstorm tools window