<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><title>canvas绘制多边形</title>
</head>
<body>
<canvas id="canvas" style="border: 1px solid darkcyan;" width="400" height="400"></canvas><script>var c = document.getElementById("canvas").getContext("2d");//定义一个以(x,y)为中心,半径为r的规则n边型;//每个顶点都是均匀分布在圆周上//将第一个顶点放置在最上面,或者指定一定角度//除非最后一个参数是true,否则顺时针旋转function polygon(c,n,x,y,r,angle,counterClockwise) {angle = angle || 0;counterClockwise = counterClockwise || false;c.moveTo(x+r*Math.sin(angle),y-r*Math.cos(angle));var delta = 2*Math.PI/n;for(var i=1;i<n;i++){angle+=counterClockwise?-delta:delta;c.lineTo(x+r*Math.sin(angle),y-r*Math.cos(angle));}c.closePath();}c.beginPath();polygon(c,3,50,70,50);polygon(c,4,150,60,50,Math.PI/4);polygon(c,5,255,55,50);c.fillStyle = "#ccc";c.strokeStyle = "#008";c.lineWidth = 5;c.fill();c.stroke();
</script>
</body>
</html>

转载于:https://www.cnblogs.com/QianBoy/p/7856746.html

canvas绘制多边形相关推荐

  1. vue canvas绘制多边形

    一.html部分 <div><el-row><el-col :span="3"><div class="toolbar" ...

  2. (三)canvas绘制样式

    beginPath() 对画线点的一个开始限制 moveTo() 画线的起点,只在开头使用 参数两个x轴,y轴 lineTo() 后续连线 两个参数x轴,y轴 stroke() 连线无填充 fill( ...

  3. html5 Canvas 绘制基本图形 从直线图形到使用路径 - 直线、矩形、路径、多边形、复杂组合图形

    html5: Canvas 绘制基本图形 从绘制直线 到 路径 Jack Lee 的 CSDN 博客 邮箱 :291148484@163.com CSDN 主页:https://blog.csdn.n ...

  4. android 自定义多边形,Android:自定义view之Canvas绘制图形

    前面讲解了onMeasure,接下来讲解onDraw,onDraw主要就是绘制,也就是我们真正关心的部分,使用的是Canvas绘图. @Override protected void onDraw(C ...

  5. 绘制半圆_Android Canvas 绘制小黄人

    ❝ 学习往往是枯燥的,如果能用一个有趣 Demo 来学习和练习技术,那对知识的掌握就会更牢固.我在学习 Canvas 绘制 API 的时候就是这样做的. ❞ 截图镇楼 效果图 我觉得这个绘制小黄人的自 ...

  6. Canvas学习:封装Canvas绘制基本图形API

    Canvas学习:封装Canvas绘制基本图形API Canvas Canvas学习 从前面的文章中我们了解到,通过Canvas中的CanvasRenderingContext2D对象中的属性和方法, ...

  7. rosweb,roslib,ROS2D.PolygonMarker 绘制多边形

    ROS2D.PolygonMarker 绘制多边形 //------------- 2D - -------------------------------var viewer = new ROS2D ...

  8. JS实现鼠标点击爱心绘制多边形每日一言功能

    本篇文章主要介绍我的个人博客 程序猿刘川枫 中页面使用的美化功能(基于JS实现): 1.鼠标点击出现不同颜色爱心特效 2.页面浮动多边形跟随鼠标移动 3.每日一言功能 1.鼠标点击出现爱心特效 经常在 ...

  9. Canvas 绘制直线

    Canvas 绘制直线 1.canvas绘图是一种基于状态的绘图,绘图的过程应该是先设置绘图的状态,再调用具体的函数进行绘制. 例如绘制一条(100,100)到(700,700)的直线: contex ...

最新文章

  1. SCCM 2012 SP1系列(七)分发部署exe软件
  2. 分享 14 个 Spring MVC 顶级技巧!
  3. 关于Linux前后台程序切换
  4. POJ_2104 K-th Number 【主席树】
  5. 解决Downloading data from https://www.cs.toronto.edu/~kriz/cifar-10-python.tar.gz国内下载速度缓慢的问题
  6. micropython esp32手册_使用ESP32控制板(二):燒錄MicroPython韌體
  7. 在vue中使用SockJS实现webSocket通信
  8. loj #6278. 数列分块入门 2
  9. 苹果手机电越充越少怎么回事_手机充着电,电量缺越来越少是怎么回事?
  10. 信息学奥赛一本通 1311:【例2.5】求逆序对 | 1237:求排列的逆序数 | OpenJudge NOI 2.4 7622:求排列的逆序数 | 洛谷 P1908 逆序对
  11. [收藏】正确使用SqlConnection对象,兼谈数据库连接池
  12. (已成功)windows下,VS2012+Qt5.5.1的安装、路径配置、项目配置(其它版本可参考)
  13. SourceOffSite
  14. Python利用OpenGL实现控制三维对象运动-天体运动仿真
  15. 2015年全部企业校园招聘情况+薪资水平!
  16. Docker常用命令(启动、镜像相关、容器相关、文件拷贝、目录挂载、查看容器IP地址、Docker备份与恢复)
  17. VS Code 修改字体 + 取消注释斜体 + 修改注释颜色
  18. 【思维进阶】如果回到十年前你会做哪些事情?
  19. 放飞自我的体验,真无线耳机该如何让选择
  20. 微信小程序nodejs+vue课程推荐报名学习分享平台uniapp

热门文章

  1. 不需要软著的安卓应用市场_哪些安卓应用市场上架应用比较简单啊,不需要软著啊?公司开发的 APP 着急上架...
  2. 【FFMPEG源码终极解析】void av_packet_unref(AVPacket *pkt)
  3. 【FFMPEG源码终极解析】 avformat_open_input (一)
  4. LeetCode 1021 删除最外层的括号
  5. python 共轭转置_python矩阵运算,转置,逆运算,共轭矩阵实例
  6. cx_oracle写日志信息_看日志痛苦——可能是你方法不对
  7. java中content啥意思_JSTL标签中的body-content标签体内容输出格式的介绍
  8. 小米4系统定位服务器地址,小米4原装浏览器怎么开启定位系统
  9. java空心菱形_java 空心菱形
  10. aop+注解 实现对实体类的字段校验_SpringBoot实现通用的接口参数校验