绘制要点:  

  1.getContext('2d');    -->绘图环境,2维空间

  2.fillRect(x,y,w,h);    -->矩形:实心(黑色背景)

  3.strokeRect(x,y,w,h);    -->矩形:空心(白色背景)

  4.clearRect(x,y,w,h);    -->矩形:在已存在的矩形中挖空一个矩形

  5.ctx.fillStyle='红色';    -->给图添加颜色

代码如下:

<canvas id="cavas" width="" height="" style="border: 1px solid;"></canvas>
<!--高宽不能写在style里-->
    var cas=document.querySelector('#cavas');    var ctx=cas.getContext('2d');
var n;
function rgb(){
var r=Math.floor(Math.random()*);
var g=Math.floor(Math.random()*);
var b=Math.floor(Math.random()*);
return 'rgb('+r+','+g+','+b+')';
}
setInterval(function(){ //定时器
for (var i=;i<;i++) {
for (var j=;j<;j+=) { //循环行
i%==?n=j:n=j+;    //如果是偶数行,n=j,如果是奇数行,n=j+1
ctx.fillStyle=rgb(); //添加颜色
ctx.fillRect(*n,*i,,);
}
}
},);
  //也可以用下面的方法
   setInterval(function(){      //定时器
for (var i=0;i<8;i++) {
for (var j=0;j<8;j++) { //循环行

          if (i%2==0&&j%2==0) {    //偶数行
            ctx.fillRect(100*i,100*j,100,100);
          } else if(i%2!=0){     //奇数行
            ctx.fillRect(100*i,100*(2*j+1),100,100);
          }
          ctx.fillStyle=rgb();

            }
}
},200);

效果(代码有个定时器会不停的闪动):

canvas 绘制八卦图的更多相关文章

  1. 用canvas绘制折线图

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  2. 使用Canvas绘制背景图

    原文  http://www.imququ.com/post/use-canvas-as-background-image.html 最近iCloud Web的Beta版换了UI,整体风格变得和iOS ...

  3. Android自己定义组件系列【9】——Canvas绘制折线图

    有时候我们在项目中会遇到使用折线图等图形,Android的开源项目中为我们提供了非常多插件,可是非常多时候我们须要依据详细项目自己定义这些图表,这一篇文章我们一起来看看怎样在Android中使用Can ...

  4. Android自定义控件 -Canvas绘制折线图(实现动态报表效果)

    有时候我们在项目中会遇到使用折线图等图形,Android的开源项目中为我们提供了很多插件,但是很多时候我们需要根据具体项目自定义这些图表,这一篇文章我们一起来看看如何在Android中使用Canvas ...

  5. Android自定义组件系列【9】——Canvas绘制折线图

    有时候我们在项目中会遇到使用折线图等图形,Android的开源项目中为我们提供了很多插件,但是很多时候我们需要根据具体项目自定义这些图表,这一篇文章我们一起来看看如何在Android中使用Canvas ...

  6. 使用canvas绘制扇形图

    <!doctype html><html lang="en"><head> <meta charset="UTF-8" ...

  7. canvas绘制折线图(仿echarts)

    遇到的问题:Retina屏上字体线条模糊问题 解决方案:放大canvas的大小,然后用css压缩回原大小,例如:想要900*400的画布,先将画布设置为 width="1800px" ...

  8. canvas 绘制星座图(好玩)--转载

    <!DOCTYPE html><html><head lang="en"> <meta charset="UTF-8" ...

  9. canvas绘制折线图

    效果图: 重难点: 1.画布左上角的顶点的坐标为(0 ,0),右下角的坐标最大,与平常思维相反 2.数据的处理 html代码: <!DOCTYPE html><html lang=& ...

随机推荐

  1. eval()解析json以及js中js数组、对象与json之间的转换

    http://www.cnblogs.com/myjavawork/articles/1979279.html https://www.cnblogs.com/coder-economy/p/6203 ...

  2. python 编程基础-字典类型和方法(课后习题)

    #创建一个字典 dic = {'k1':'v1','k2':'v2','k3':'v3'} #1.请循环遍历出所有的KEY for k in dic: print(k) #2请循环遍历出所有的valu ...

  3. pacemaker +corosync高可用

    server1:yum install pssh-2.3.1-2.1.x86_64.rpm  crmsh-1.2.6-0.rc2.2.1.x86_64.rpm -yyum install -y pac ...

  4. Query获取多种input值的方法

    1 if($("input[name=item][value='val']").attr('checked')==true) //判断是否已经打勾 name即控件name属性,va ...

  5. php数组·的方法1-数组的操作

    //range() 创建一个含指定范围的数组 可设置间隔 var_dump(range(1, 9, 2)); echo '<br>'; //array_combine() 合并两个数组创建 ...

  6. java——字典树 Trie

    字典树是一种前缀树 package Trie; import java.util.TreeMap; public class Trie { private class Node{ public boo ...

  7. Dev Express Report 学习总结(五)在分组中使用聚集表达式AggregateExpression

    聚集表达式AggregateExpression主要包括几种:Avg(),Count(),Exists(),Max(),Min(),Single()和Sum().其中对于Sum(),在我看来主要有两种 ...

  8. js校验密码,不能为空的8-20位非纯数字或字母的密码

    jsp: <div class="mui-input-row"> <label>密码</label><!-- id='password' ...

  9. MapReduce的主要的六个类讲解

    a.InputFormat类.该类的作用是将输入的文件和数据分割成许多小的split文件, 并将split的每个行通过LineRecorderReader解析成<Key,Value>,通过 ...

  10. Spring集成Quartz的3种方式

    1.使用xml配置方式 Maven依赖 <properties> <!-- spring版本号 --> <spring.version>4.2.2.RELEASE& ...