canvas画多边形

<canvas id = "myCanvas" width = '500' height = '500'>
Canvas画正多边形
</canvas><script> var myCanvas = document.getElementById("myCanvas");
var context = myCanvas.getContext("2d");
function drawPath(x, y, n, r)
{
var i,ang;
ang = Math.PI*2/n //旋转的角度
context.save();//保存状态
context.fillStyle ='rgba(255,0,0,.3)';//填充红色,半透明
context.strokeStyle ='hsl(120,50%,50%)';//填充绿色
context.lineWidth = 1;//设置线宽
context.translate(x, y);//原点移到x,y处,即要画的多边形中心
context.moveTo(0, -r);//据中心r距离处画点
context.beginPath();
for(i = 0;i < n; i ++)
{
context.rotate(ang)//旋转
context.lineTo(0, -r);//据中心r距离处连线
}
context.closePath();
context.stroke();
context.fill();
context.restore();//返回原始状态
}
drawPath(100, 100, 5, 40)//在100,100处画一个半径为40的五边形
drawPath(200, 100, 3, 40)//在200,100处画一个半径为40的三角形
drawPath(300, 100, 7, 40)//在300,100处画一个半径为40的七边形
drawPath(100, 200, 15, 40)//在100,200处画一个半径为40的十五边形
drawPath(200, 200, 4, 40)//在100,200处画一个半径为40的四边形 </script>
canvas画多边形的更多相关文章
- 一个给力的html5 画多边形的例子
只需改变参数就能画出你想要的多边形,代码简单!不得不惊叹canvas的强大! 代码奉上 <!doctype html> <html> <head> <meta ...
- Android利用canvas画各种图形
Android利用canvas画各种图形(点.直线.弧.圆.椭圆.文字.矩形.多边形.曲线.圆角矩形) 本文链接:https://blog.csdn.net/rhljiayou/article/det ...
- 使用javascript和canvas画月半弯
使用javascript和canvas画月半弯,月半弯好浪漫!浏览器须支持html5 查看效果:http://keleyi.com/a/bjad/8xqdm0r2.htm 以下是代码: <!do ...
- canvas 画圈 demo
html代码: <canvas id="clickCanvas2" width="180" height="180" data-to ...
- 踩个猴尾不容易啊 Canvas画个猴子
踩个猴尾不容易啊 Canvas画个猴子 <!DOCTYPE html> <html> <head> <meta charset="UTF-8&qu ...
- canvas画随机闪烁的星星
canvas画一颗星星: 规则的星星有内切圆和外切圆,每两个点之间的角度是固定的,因此可得到星星的每个点的坐标,画出星星. function drawStars(x,y,radius1,radius2 ...
- canvas画时钟
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <meta http ...
- Canvas画椭圆的方法
虽然标题是画椭圆,但是我们先来说说Canvas中的圆 相信大家对于Canvas画圆都不陌生 oGC.arc(400, 300, 100, 0, 2*Math.PI, false); 如上所示,直接 ...
- 深夜,用canvas画一个时钟
深夜,用canvas画一个时钟 查看demo 这几天准备阿里巴巴的笔试,可以说已经是心力交瘁,自从阿里和蘑菇街的内推被刷掉之后,开始越来越怀疑起自己的能力来,虽然这点打击应该是微不足道的.毕竟校招在刚 ...
随机推荐
- python 代码模板
命令[python3 -m pydoc -p 1234] 通过http://localhost:1234来访问查看文档 # -*- coding: utf-8 -*-""&qu ...
- Git之创建仓库并上传/更新项目版本
1.Git配置 使用Git的第一件事就是设置你的名字和email,这些就是你在提交commit时的签名,每次提交记录里都会包含这些信息.使用git config命令进行配置: $ git config ...
- luogu P2511 [HAOI2008]木棍分割
传送门 第一问是一道经典的二分,二分答案\(ans\),然后从前往后扫,判断要分成几段救星了 第二问设\(f_{i,j}\)表示前\(i\)个数分成\(j\)段,每段之和不超过第一问答案的方案,转移就 ...
- 第3月第1天 GCDAsyncSocket dispatch_source_set_event_handler runloop
+ (void)startCFStreamThreadIfNeeded { LogTrace(); static dispatch_once_t predicate; dispatch_once(&a ...
- php 获取压缩包名
参考链接: https://segmentfault.com/q/1010000000721799 通过curl方式获取压缩包名: function getFile($url, $save_dir = ...
- B - Fuzzy Search (FFT)
题目链接:https://cn.vjudge.net/contest/281959#problem/B 题目大意:给你n,m,k.然后输入两个字符串,n代表第一个字符串s1,m代表第二个字符串s2,然 ...
- [转]xargs命令详解,xargs与管道的区别
为什么要用xargs,问题的来源 在工作中经常会接触到xargs命令,特别是在别人写的脚本里面也经常会遇到,但是却很容易与管道搞混淆,本篇会详细讲解到底什么是xargs命令,为什么要用xargs命令以 ...
- linux笔记_day05
1.bash以及特性 shell:外壳 GUI:KDE,Gnome,Xfce CLI:sh,csh,ksh,bash(born again shell) 进程:在每个进程看来,当前主机上只存在内核和当 ...
- LaTeX 对齐问题
一.一行文本对齐 \leftline{左对齐} \centerline{居中} \rightline{右对齐} 二.多行文本或段落对齐 左对齐 \begin{flushleft}...\end{flu ...
- JavaScript对象复制(二)
<script> function copy(a) { ret = {}; for (sth in a) { temp = a[sth]; if (temp instanceof Arra ...