canvas基础知识点(一)
给canvas设置宽高:
canvas标签的宽高默认是300*150,是一个行内块元素
可以在canvas标签上通过width,height来设置
可以在js中给dom对象设置:mycanvas.width = 500
mycanvas.height = 500注意:不要通过css来调整canvas的宽高,导致内部的canvas画布被拉伸,图形变形
- 获取画笔工具:
canvas绘图都是通过canvas标签的画笔来进行的var ctx = canvas.getContext('2d')
注意,不要写成getContent,里面传入的参数目前也只有2d这一种情况
- 获取画笔工具:
3、 描边和填充
canvas绘制图形都是绘制的路径,看不见摸不着的一种东西,需要进行描边或填充之后才能看到真正的图形
如果绘制图形的路径在绘制完成后没有闭合,继续绘制路径的时候会首尾相连
在填充的时候如果路径依然没有闭合,会将路径的闭合区域填充
ctx.fill()//填充
ctx.stroke()//描边
可以调整ctx.strokeStyle,ctx.fillStyle属性来更改填充,描边的颜色,值为颜色值(rgb,rgba,word,16进制)
- 绘制矩形
ctx.rect(x,y,w,h)
canvas的坐标系起点是左上角,x轴向右正方向,y轴向下正方向
x,y代表的是矩形起点(左上角)的位置,w,h就是宽高
可以使用strokeRect,fillRect方法直接绘制一个填充、描边的矩形
清楚矩形区域以及动画原理
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基础知识点(一)的更多相关文章
- canvas API ,通俗的canvas基础知识(一)
在没学canvas的时候,觉得canvas是这么的神秘,这么的绚丽,这么的高深,用canvas做出来的效果是如此的炫酷,能做的事情如此的宽广,简直让我心生敬畏之心,时常感叹:我要是得此技能,必定要上天 ...
- HTML5移动开发学习笔记之Canvas基础
1.第一个Canvas程序 看的是HTML5移动开发即学即用这本书,首先学习Canvas基础,废话不多说,直接看第一个例子. 效果图为: 代码如下: <!DOCTYPE html> < ...
- fastclick 源码注解及一些基础知识点
在移动端,网页上的点击穿透问题导致了非常糟糕的用户体验.那么该如何解决这个问题呢? 问题产生的原因 移动端浏览器的点击事件存在300ms的延迟执行,这个延迟是由于移动端需要通过在这个时间段用户是否两次 ...
- .NET基础知识点
.NET基础知识点 l .Net平台 .Net FrameWork框架 l .Net FrameWork框架提供了一个稳定的运行环境,:来保障我们.Net平台正常的运转 l 两种交 ...
- JavaScript 开发者经常忽略或误用的七个基础知识点(转)
JavaScript 本身可以算是一门简单的语言,但我们也不断用智慧和灵活的模式来改进它.昨天我们将这些模式应用到了 JavaScript 框架中,今天这些框架又驱动了我们的 Web 应用程序.很多新 ...
- JavaScript 开发者经常忽略或误用的七个基础知识点
JavaScript 本身可以算是一门简单的语言,但我们也不断用智慧和灵活的模式来改进它.昨天我们将这些模式应用到了 JavaScript 框架中,今天这些框架又驱动了我们的 Web 应用程序.很多新 ...
- canvas基础之旅
canvas 主要使用2D rendering context API 实现其功能和特效. canvas 一般浏览器都支持,但在ie9之前的是不支持的.(解决办法:添加IxplorerCanvas ...
- canvas 基础知识整理(二)
html部分: <canvas id="myCanvas" width="800" height="800" ></can ...
- canvas 基础知识整理(一)
canvas这个 HTML 元素是为了客户端矢量图形而设计的.它自己没有行为,但却把一个绘图 API 展现给客户端 JavaScript 以使脚本能够把想绘制的东西都绘制到一块画布上. html的基本 ...
随机推荐
- 【js】面向对象学习资料
1.面向对象模式: https://m.jb51.net/article/74549.htm 2.面向对象基础篇 http://www.cnblogs.com/chiangchou/p/js-oop1 ...
- 12 Django之Cookie和Session
一.什么是Cookie Cookie的由来 大家都知道HTTP协议是无状态的. 无状态的意思是每次请求都是独立的,它的执行情况和结果与前面的请求和之后的请求都无直接关系,它不会受前面的请求响应情况直接 ...
- jquery.validate.js表单验证 jquery.validate.js的用法
jquery.validate.js这个插件已经用了2年多了,是一个不可多得的表单验证最方便快捷的插件.基于jquery的小插件,基本小白一学就会上手,对于项目表单页面比较多,元素比较多的校验,该插件 ...
- 帝国cms 加载更多的实现(父栏目以及子栏目都可以实现)
1. <div class="pagelist"> <span id="loadmore" class="btn" sty ...
- ES6入门五:箭头函数、函数与ES6新语法
箭头函数的基本用法与特点 函数与ES6新语法 一.箭头函数的基本用法与特点 声明箭头函数采用声明变量和常量的关键字:var.let.const 箭头函数的参数:没有参数用"()"空 ...
- Shell脚本变量与判断
变量 环境变量 局部变量 declare 定义变量类型 本地变量 local 在函数中使用 变量类型: 数值型: 1.整形 2.浮点型 3.布尔型 0 1 (真 假) (true false) 字符串 ...
- Windows defender怎么才能彻底关闭?
据不久前的一项测试表明,Windows系统自带的Windows defender软件在所有参与测试的杀毒安全软件中对win10的运行速度影响最大. 而Win10系统的Windows defender会 ...
- odoo标识符
class Book(models.Model): _name = "library.book" _description = "Book" _order = ...
- window dos 下批量删除docker 容器
>dokcer ps -a -q> 1.txt (写入所有已暂停容器id) >for /f %a in (1.txt) do docker rm %a for 循环 /f ...
- Linux基础命令01
绝对路径:从“/”根目录下开始 常用的一些命令选项 ls ls :使用方式 ls {空格}选项 {空格}参数 (全写为list)(等同于dir) 列出当前目录下所有的文件,包括隐藏文件 ls -a ...