一个给力的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>
时间: 2024-10-11 08:31:48

一个给力的html5 画多边形的例子的相关文章

每天一个JavaScript实例-html5拖拽

<!DOCTYPE html> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> <title>每天一个JavaScript实例-html5拖拽</title> <style> #drop{ width:300px; height:200px; background-

漫画《我》(一个程序员亲手画的)

来源:漫画<我>(一个程序员亲手画的) 漫画<我>(一个程序员亲手画的),布布扣,bubuko.com

世界不曾亏欠每一个努力的人

几年前,站在一所名校的门前,女友痛斥考研的正哥:所有人都误以为这里是梦开始的地方,我想告诉你,这里也是梦破碎的地方. 正哥说她太悲观,女友怪他不现实.于是,她转身坐上了另一个男人的豪车,甚至没有正式对他说再见. 有很长一段时间,正哥每天醒来和睡时都会抱着她的照片.最难受的时候,他曾跑到雪地中,吞了几口冰凉的雪,在雪地上写:I’mcoming,coming,coming......直至手指冻得没有知觉. 从此,正哥惜时惜命,把平日里所有的时间安排妥当,再挤出来一些时间去充电.记得那年夏天,我们一起

一个基于RSA算法的Java数字签名例子

原文地址:一个基于RSA算法的Java数字签名例子 一.前言: 网络数据安全包括数据的本身的安全性.数据的完整性(防止篡改).数据来源的不可否认性等要素.对数据采用加密算法加密可以保证数据本身的安全性,利用消息摘要可以保证数据的完整性,但是还有一点就是数据来源的不可否认性(也就是数据来自哪里接收者是清楚的,而且发送数据者不可抵赖). 有些方案曾经使用消息认证码(MAC)来保证数据来源于合法的发送着,但是利用消息认证码会带来一个问题,就是通讯双方必须事先约定两者之间的通讯用共享密码.在我们的互联网

Servlet中请给出一个Cookie的增删改查的例子。

2.Servlet与Cookie:(视频下载) (全部书籍) 马 克-to-win:Cookie有点像Session.Session是把键值对存在服务器端,一个Servlet存值 ,另外一个Servlet可以取值.Cookie也是以键值对的形式用于读取,不过是保存在客户端 浏览器的某个文本里面.取时,也要从这台机器的这个浏览器上去取.像Session一样,你 也可以设置过期时间,比如“一年”.和Session不同的是:用户可以把自己浏览器的Cookie工作系统关掉.这就是Cookie不如Sess

【转】C# 串口操作系列(1) -- 入门篇,一个标准的,简陋的串口例子。

我假设读者已经了解了c#的语法,本文是针对刚打算解除串口编程的朋友阅读的,作为串口编程的入门范例,也是我这个系列的基础. 我们的开发环境假定为vs2005(虽然我在用vs2010,但避免有些网友用2005,不支持lambda,避免不兼容,就用2005来做例子) 一个基本的串口程序,既然是个程序了.我们就先从功能说起,包含 串口选择 波特率选择 打开 关闭 接受数据显示 发送数据输入 发送数据 数据量提示以及归零 好吧,有了这些功能,我们就先画出界面.例如: 这里,波特率就定死几种好了.直接界面上

OpenLayers 根据坐标动态画多边形

找了一上午,发现都是鼠标点击画框的,那为什么不标明了是 “鼠标”点击 呢? 想实现的功能是数据库检索坐标集合,然后根据分组提取4点坐标,最后把多个多边形形成图层放在地图上. 最后的实现: 1 <!DOCTYPE html> 2 <html lang="en"> 3 <head> 4 <meta charset="UTF-8"> 5 <title>检索各单位泊位信息</title> 6 <l

HTML5 画一张图

笔者:本笃庆军 原文地址:http://blog.csdn.net/qingdujun/article/details/33344289 一.绘制图像 使用drawImage()方法绘制图像. 画图环境提供了该方法的三个不同版本号. drawImage(image,x,y) : 在canvas中(x,y)处绘制图片. drawImage(image,x,y,width,height) : 在canvas中(x,y)处绘制图片.并将其缩放到指定的宽度和高度. drawImage(image,sou

点在多边形内算法,C#判断一个点是否在一个复杂多边形的内部

判断一点是否在不规则图像的内部算法,如下图是由一个个点组成的不规则图像,判断某一点是否在不规则矩形内部,先上效果图 算法实现如下,算法简单,亲试有效 public class PositionAlgorithmHelper { /// <summary> /// 判断当前位置是否在不规则形状里面 /// </summary> /// <param name="nvert">不规则形状的定点数</param> /// <param n