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. 10 select、poll以及epoll

      IO复用:为了解释这个名词,首先来理解下复用这个概念,复用也就是共用的意思,这样理解还是有些抽象,为此,咱们来理解下复用在通信领域的使用, 在通信领域中为了充分利用网络连接的物理介质,往往在同一条网络 ...

    2. javascript相关的增删改查以及this的理解

      前两天做了一个有关表单增删改查的例子,现在贴出来.主要是想好好说一下this. 下面贴一张我要做的表格效果. 就是实现简单的一个增删改查. 1.点击增加后自动增加一行: 2.点击保存当前行会将属性改成 ...

    3. fastadmin Excel导出时数字被科学计数

      /public/assets/libs/bootstrap-table/dist/extensions/export/bootstrap-table-export.min.js //exportOpt ...

    4. Win10系统如何利用蓝牙设置动态锁?

      很多小伙伴都会有这样的经历,出门之后没走多远,却已然忘记是否锁门,有强迫症的人就会重新返回查看,以确保门是否反锁. 我们在使用电脑时也是这样,遇到事情要临时离开,却忘记是否锁屏,再返回来就耽误时间了. ...

    5. Linux下计划任务:crontab 命令的权限说明

      Linux下的计划任务: 使用crontab命令来执行调度,在 Linux 下可以通过创建文件 /etc/cron.allow 或者 /etc/cron.deny 来控制权限,如果 /etc/cron ...

    6. 小程序UI设计(9)-文字排版

      小程序中一般很少大段落的文字,基本是4.5个字的主题.一行标题.一行摘要.两行描述.显示时超出部分用省略号代替.下面结合工具使用介绍一下文字排版的方法.先看效果图.  工具中属性设置如下图:两行文字属 ...

    7. java8 stream/optional个人测试demo记录

      备忘记录 package cc.ash; import lombok.AllArgsConstructor; import lombok.Data; import lombok.NoArgsConst ...

    8. hive元数据

      本文介绍Hive元数据库中一些重要的表结构及用途,方便Impala.SparkSQL.Hive等组件访问元数据库的理解. 1.存储Hive版本的元数据表(VERSION) 该表比较简单,但很重要. V ...

    9. 小猿圈-IT自学人的小圈子 https://book.apeland.cn/details/54/

      笔记链接   https://book.apeland.cn/details/54/ 学习视频   https://www.apeland.cn/python

    10. mysql 查看删除触发器等操作

      mysql 查看删除触发器等操作 平时很少操作触发器,源于昨晚的一次故障,使用pt-online-change-schema修改大表过程中出现异常,再次执行时,提示已经存在触发器,导致失败. 这里推荐 ...