一个给力的html5 画多边形的例子
只需改变参数就能画出你想要的多边形,代码简单!不得不惊叹canvas的强大!
代码奉上
- <!doctype html>
- <html>
- <head>
- <meta charset="gb2312">
- <title>画图</title>
- </head>
- <body>
- <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, 3, 40)//在100,100处画一个半径为40的三边形
- drawPath(200, 100, 4, 40)//在200,100处画一个半径为40的四角形
- drawPath(300, 100, 5, 40)//在300,100处画一个半径为40的五边形
- drawPath(100, 200, 6, 40)//在100,200处画一个半径为40的六边形
- drawPath(200, 200, 7, 40)//在100,200处画一个半径为40的七边形
- drawPath(300, 200, 7, 40)//在300,200处画一个半径为40的八边形
- </script>
- </body>
- </html>
一个给力的html5 画多边形的例子的更多相关文章
- iOS-CGContextRef画各种图形例子
iOS-CGContextRef画各种图形例子 绘制效果图 绘制代码 - (void)drawRect:(CGRect)rect { //一个不透明类型的Quartz 2D绘画环境,相当于一个画布,你 ...
- 超给力的HTML5 3D动画欣赏及源码下载
HTML5有着非常巨大的魅力,尤其是CSS3和Cavnas,可以帮助页面渲染得非常炫酷.值得一提的是,利用HTML5的3D特性可以帮助你更加方便地在网页上实现3D动画特效.本文分享的这些HTML5 3 ...
- 【转】C# 串口操作系列(1) -- 入门篇,一个标准的,简陋的串口例子。
C# 串口操作系列(1) -- 入门篇,一个标准的,简陋的串口例子. 标签: c#objectnewlineexceptionbytestring 2010-05-17 01:10 117109人阅读 ...
- 使用Java、Matlab画多边形闭合折线图
由于写论文要将“哈密顿回路问题(TSP)”的求解中间结果表示出来,查了一下使用程序画多边形图形.现在在总结一下,这个图是“由给定节点首尾相连的”闭合多边形. 1.使用matlab作闭合多边形图 没有找 ...
- 【编程漫谈】用JAVA画多边形
一门语言只要带图形库就可以编程画图了,用JAVA画图有两种方式,一是在内存中画好然后生成图片,就可以看到画图的效果了.另一个就是在窗口界面上直接画,可以实时看到程序的运行效果.刚开始学编程的时候,我加 ...
- 最全vue的vue-amap使用高德地图插件画多边形范围
一.在vue-cli的框架下的main.js(或者main.ts)中引入高德插件,代码如下: import Vue from 'vue' import VueAMap from 'vue-amap' ...
- 查看某一个点是否在某个多边形内 使用ST_Contains函数
查看某一个点是否在某个多边形内 使用ST_Contains函数 --LINESTRING ( 121.312350 30.971457 , 121.156783 31.092221 , 121.35 ...
- 一个layer可以跟着画完的线移动ios程序 好玩啊。
用法:采用的是关键帧实现的. 实验目的:让上层的layer子层能够跟着在另一个子层上花的线进行移动 .即当线画完之后,图形开始移动,并且能够停在最后的那个位置 效果图: 采用是直接在layer图层上进 ...
- 每天一个JavaScript实例-html5拖拽
<!DOCTYPE html> <html> <head> <meta http-equiv="Content-Type" content ...
随机推荐
- 还是log4net的使用
最近做个项目要用到日志系统,这这可把我给难住了,后来问了下度娘,发现只有你想不到的,没有那些找不到的开源组件,后来发现了log4net,但是我是控制台程序,没有个实例还真不好搞,想想还是看看他的运行过 ...
- CRM odata方法 js容易出现的错误,大小写区分 Value Id
Id Value 注意大小写,I大写,V大写,typeResults.result[0].yt_category.Value; 否则会报 错,Result.yt_businessunit_terri ...
- 学习C++语言的50条忠告
50条忠告:(其中有几条觉得写的不够贴切,所以删了,发了余下的部分) 1.把C++当成一门新的语言学习: 2.看<Thinking In C++>,不要看<C++变成死相>: ...
- PHP Curl CURLOPT_POSTFIELDS 1024
resolve : curl_setopt($ch, CURLOPT_HTTPHEADER, array('Expect:')); url: http://www.laruence.com/2011/ ...
- Android 中退出程序的几种方法
1.finish()方法 finish是Activity的类,仅仅针对Activity,当调用finish()时,只是将活动推向后台,并没有立即释放内存,活动的资源并没有被清理:调用finish()方 ...
- phpStrom添加插件:php文档生成(phpDocumentor)
1. 依次打开:Files => Settings => External Tools => +(add) 2. 填写信息:name:phpDoc; group:PHP插件; des ...
- 重拾php---以及zend-studio 的使用快捷方式
感觉好久没有碰php了,今天心血来潮,重新入门.先整理一下刚刚学习的笔记. 一个字符串是用双引号括起来的一个词或一个句字,比如:“Hi,imooc!”.你可以用PHP语言输出把这个字符串输出,像这样: ...
- CDC不同模式在ODI体现系列之二 异步模式
CDC不同模式在ODI体现系列之二 异步模式 2 异步模式需要在数据库中做一些准备工作: 改数据为归档并启用logminer: SQL> shutdown immediate 数据库已经关闭. ...
- Microsoft web application stress tool 测试
一.准备工作 为了测试数据的准备性,首先需要删除缓存和Cookies等临时文件.启动IE后打开“工具”菜单下的“Internet”选项命令,在打开的“Internet选项”窗口的“常规”选项卡中,单击 ...
- poj1665
#include <stdio.h> #include <stdlib.h> #define pi 3.1415926 int main() { float dia,tim; ...