1. 给canvas设置宽高:
    canvas标签的宽高默认是300*150,是一个行内块元素
    可以在canvas标签上通过width,height来设置
    可以在js中给dom对象设置:

      mycanvas.width = 500
    mycanvas.height = 500

    注意:不要通过css来调整canvas的宽高,导致内部的canvas画布被拉伸,图形变形

    1. 获取画笔工具:
      canvas绘图都是通过canvas标签的画笔来进行的

      var ctx = canvas.getContext('2d')

      注意,不要写成getContent,里面传入的参数目前也只有2d这一种情况

3、 描边和填充

canvas绘制图形都是绘制的路径,看不见摸不着的一种东西,需要进行描边或填充之后才能看到真正的图形
如果绘制图形的路径在绘制完成后没有闭合,继续绘制路径的时候会首尾相连
在填充的时候如果路径依然没有闭合,会将路径的闭合区域填充 ctx.fill()//填充
ctx.stroke()//描边 可以调整ctx.strokeStyle,ctx.fillStyle属性来更改填充,描边的颜色,值为颜色值(rgb,rgba,word,16进制)
    1. 绘制矩形
      ctx.rect(x,y,w,h)
      canvas的坐标系起点是左上角,x轴向右正方向,y轴向下正方向
      x,y代表的是矩形起点(左上角)的位置,w,h就是宽高
      可以使用strokeRect,fillRect方法直接绘制一个填充、描边的矩形
    1. 清楚矩形区域以及动画原理
      ctx.clearRect(x,y,w,h)可以清除某一个矩形区域的图形
      canvas实现动画的原理就是不断的绘制和擦除来实现

         var ctx = canvas.getContext("2d")
      let x=0,y=0;
      ctx.fillRect(x,y,50,50)
      setInterval(function () {
      //绘制新的图形前擦掉之前的
      ctx.clearRect(0,0,canvas.width,canvas.height)
      x++;y++;
      //不断绘制新图形
      ctx.fillRect(x,y,50,50)
      },30)

    canvas基础知识点(一)的更多相关文章

    1. canvas API ,通俗的canvas基础知识(一)

      在没学canvas的时候,觉得canvas是这么的神秘,这么的绚丽,这么的高深,用canvas做出来的效果是如此的炫酷,能做的事情如此的宽广,简直让我心生敬畏之心,时常感叹:我要是得此技能,必定要上天 ...

    2. HTML5移动开发学习笔记之Canvas基础

      1.第一个Canvas程序 看的是HTML5移动开发即学即用这本书,首先学习Canvas基础,废话不多说,直接看第一个例子. 效果图为: 代码如下: <!DOCTYPE html> < ...

    3. fastclick 源码注解及一些基础知识点

      在移动端,网页上的点击穿透问题导致了非常糟糕的用户体验.那么该如何解决这个问题呢? 问题产生的原因 移动端浏览器的点击事件存在300ms的延迟执行,这个延迟是由于移动端需要通过在这个时间段用户是否两次 ...

    4. .NET基础知识点

      .NET基础知识点   l  .Net平台  .Net FrameWork框架   l  .Net FrameWork框架提供了一个稳定的运行环境,:来保障我们.Net平台正常的运转   l  两种交 ...

    5. JavaScript 开发者经常忽略或误用的七个基础知识点(转)

      JavaScript 本身可以算是一门简单的语言,但我们也不断用智慧和灵活的模式来改进它.昨天我们将这些模式应用到了 JavaScript 框架中,今天这些框架又驱动了我们的 Web 应用程序.很多新 ...

    6. JavaScript 开发者经常忽略或误用的七个基础知识点

      JavaScript 本身可以算是一门简单的语言,但我们也不断用智慧和灵活的模式来改进它.昨天我们将这些模式应用到了 JavaScript 框架中,今天这些框架又驱动了我们的 Web 应用程序.很多新 ...

    7. canvas基础之旅

      canvas 主要使用2D rendering context  API 实现其功能和特效. canvas 一般浏览器都支持,但在ie9之前的是不支持的.(解决办法:添加IxplorerCanvas ...

    8. canvas 基础知识整理(二)

      html部分: <canvas id="myCanvas" width="800" height="800" ></can ...

    9. canvas 基础知识整理(一)

      canvas这个 HTML 元素是为了客户端矢量图形而设计的.它自己没有行为,但却把一个绘图 API 展现给客户端 JavaScript 以使脚本能够把想绘制的东西都绘制到一块画布上. html的基本 ...

    随机推荐

    1. 二、maven学习

      maven工程运行环境修改 例如maven自带Tomcat6,我们想使用Tomcat7 pom.xml #配置多一个Tomcat7<plugins> <plugin> < ...

    2. O047、 Cinder 组件详解

      参考https://www.cnblogs.com/CloudMan6/p/5585637.html   cinder-api   cinder-api 是整个Cinder 组件的门户,所有cinde ...

    3. O042、Live Migrate 操作

      参考https://www.cnblogs.com/CloudMan6/p/5554549.html   Migrate 操作会先将Instance停掉,也就是所谓的 冷迁移 .而 Live Migr ...

    4. 5 java 笔记

      1  建议不要在循环体内修改循环变量的值 2 java语言没有提供goto语句来控制程序的跳转 2 java语言同样也提供了continue和break关键字来控制程序的循环结构 3 java中的标签 ...

    5. webpack初体验_集成插件_集成loader

      webpack初体验 如果没装 webpack 就先装一下,命令行输入npm i webpack -g 新建一个项目 创建一个空的项目 定义一个名称 创建一个Module 选择静态 web 输入名称 ...

    6. Linux中的sudoer详解

      目录 Linux中的sudo详解 一.引言 二.格式 三./etc/sudoers文件 四.sudoers文件讲解 五.其他 Linux中的sudo详解 一.引言 Liunx用户只有两类: 管理员用户 ...

    7. ubuntu16.04下NVIDIA GTX965M显卡驱动PPA安装

      禁用nouveau驱动 Ubuntu系统集成的显卡驱动程序是nouveau,我们需要先将nouveau从linux内核卸载掉才能安装NVIDIA官方驱动.将nouveau添加到黑名单blacklist ...

    8. Jmeter (一) 安装

      https://blog.csdn.net/ls1792304830/article/details/52718177 一.准备工具 1.Windows 操作系统 2.jmeter 3.JDk 依赖环 ...

    9. error LNK2019 : unresolved external symbol Zbar配置问题

      原文链接:https://blog.csdn.net/MengchiCMC/article/details/77871714 出现error LNK2019 : unresolved external ...

    10. tbdr+mrt

      有关mrt的在tbdr的架构下的内存排布 system memory肯定是dither 我对这里把握比较大 rt0 rgba8 rt1 r8 这样像素排列是rgba8r8rgba8r8rgba8r8. ...