<canvas>画布-学习笔记

目录

 画布标签

1.画布的介绍与创建

1.1 什么是画布

1.2什么是画布标签

1.3创建画布

2.画布的使用

2.1 设置图形连接点:

 2.2 使用画布绘制虚线

2.3 使用画布画圆/椭圆


 <canvas>画布标签

1.画布的介绍与创建

1.1 什么是<canvas>画布

<canvas> HTML5 新增的,一个可以使用脚本(通常为JavaScript)在其中绘制图像的 HTML 元素。它可以用来制作照片集或者制作简单(也不是那么简单)的动画,甚至可以进行实时视频处理和渲染。

    ​ 它最初由苹果内部使用自己MacOS X WebKit推出,供应用程序使用像仪表盘的构件和 Safari 浏览器使用。 后来,有人通过Gecko内核的浏览器 (尤其是Mozilla和Firefox),Opera和Chrome和超文本网络应用技术工作组建议为下一代的网络技术使用该元素。

    ​ Canvas是由HTML代码配合高度和宽度属性而定义出的可绘制区域JavaScript代码可以访问该区域,类似于其他通用的二维API,通过一套完整的绘图函数来动态生成图形。

    ​ Mozilla 程序从 Gecko 1.8 (Firefox 1.5)开始支持 <canvas>, Internet Explorer 从IE9开始<canvas> 。Chrome和Opera 9+ 也支持 <canvas>

1.2什么是画布标签

    如果里面不写东西再网页上什么也不会显示
    默认属性 width为300、height为150,单位都是px
    也可以使用css属性来设置宽高,但是如宽高属性和初始比例不一致,他会出现扭曲。所以,建议不要使用css属性来设置<canvas>的宽高。
    某些较老的浏览器(尤其是IE9之前的IE浏览器)或者浏览器不支持HTML元素<canvas>,
    不支持 <canvas> 的浏览器则 会直接渲染替代内容。

1.3创建画布

<script>
     // 1.获取一个画布(要创建一个画布对象)
    var canvas = document.getElementById("canvas");
    //2.创建一个画布的下文对象
    var context = canvas.getContext("2d");
    //3.告诉程序绘画路径开始
    context.beginPath();
    //4.绘制图形的起始点(坐标)
    context.moveTo(0, 0);
    //5.设置图形的连接点
    context.lineTo((180, 180,);
    //6.设置图形的样式
    context.strokeStyle = "red"
    //7.设置描边
    context.stroke();
</script>

效果图 {设置了一条斜线}

2.画布的使用

2.1 设置图形连接点:

lineTo(width,height) 绘制一条线
strokeRect(x, y, width, height) 绘制一个有矩形的边框
fillRect(x, y, width, height) 绘制一个填充的矩形
clearRect(x, y, widh, height) 清除指定矩形区域,然后这块区域会变的完全透明。
closePath()    闭合路径 ;beginPath:() 清空列表        

绘制画布上的矩形框内填充颜色,和清除指定区域的绘制图案

<script>
    // 1.获取一个画布(要创建一个画布对象)
    var canvas = document.getElementById("canvas");
    //2.创建一个画布的下文对象
    var context = canvas.getContext("2d");
    //填充颜色
    context.fillStyle= "red"; 
    //画一个矩形图案
    context.fillRect(0, 0, 100, 100);
    //清除指定区域的矩形图案 清除完后这片区域会变成透明色
    context.clearRect(10,10,20,20);
    context.lineWidth=10;//设置线的粗细
</script>

效果图:

 2.2 使用画布绘制虚线

<script>
// 绘制图形得连接点
      context.setLineDash([10,10,10]);
    //   绘制图形的起始点
      context.moveTo(0, 0);
    //   绘制图形的结束点
      context.lineTo(200, 0);
    //   绘制图形的宽度
      context.lineWidth=5;
</script>

利用循环设置虚线(如有使用多量虚线,建议使用循环方法)

<script>
      // 1/获取一个画布(先创建一个画布对象)
      var canvas = document.getElementById("canvas");
      // 2创建一个画布上下文对象
      var context = canvas.getContext("2d");
      // 循环获取起始点以及连接点
      for (var i = 0; i < 30; i++) {
        // 告诉程序绘画路径开始
        context.beginPath();
        context.moveTo(10 * i, 0);
        context.lineTo(10 * i + 5, 0);
        context.closePath();
        // 设置样式
        context.lineWidth = 5;
        // 描边
        context.stroke();
      }
    </script>

虚线效果图:

2.3 使用画布画圆/椭圆

<body>
    <canvas id="canvas" width="800px" height="800px">这是一个画布</canvas>

<script>
    var canvas = document.getElementById("canvas");
    var context = canvas.getContext("2d");
    //画圆
    // 两个半圆合并成一个圆
    context.beginPath();
    context.arc(200,100,50,0,Math.PI,true); /*设置Π的X、Y轴和大小*/
    context.stroke();   /*画线*/
    context.beginPath();        /*表明接下来绘制的图形将是一个新的路径*/
    context.arc(200,100,50,0,Math.PI,false);/*设置Π的X、Y轴和大小*/
    // context.closePath();
    context.stroke();   /*画线*/
    //画椭圆
    context.ellipse(100,100,50,30,0,0,Math.PI*2);
    context.stroke();
</script>
</body>

     画两条以(X,Y)轴为中心弧形的线 {画线 context.stroke(); } 使用(X,Y)轴的路径把两条弧线组成一个圆.

圆效果图:

 

 椭圆效果图:

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值