HTMLCanvasElement//canvas elem对象
属性
height//高
width//宽
方法
getContext()//获取<canvas>相关的可绘制的上下文
toBlob()//(ie 不支持)此方法可以将<canvas>画布转换为base64格式的图片数据,我们可以通过设定参数指定转换的图片类型,甚至图片的清晰度
toDataURL()//可以将<canvas>画布转换为Blob对象 CanvasRenderingContext2D//等于 canvas.getContext('2d')对象;
绘制矩形
canvas.clearRect()//清除指定矩形区域内部所有的像素信息为初始色(通常为透明)。
canvas.fillRect()//矩形填充,可以填充颜色,渐变,图案等。
canvas.strokeRect()//矩形描边。 绘制文本
canvas.fillText()//文字填充,可以填充纯色,渐变或者图案。
canvas.strokeText()//文字描边。
canvas.measureText()//文字测量。返回TextMetrics对象,该对象的width属性值就是字符占据的宽度。 文本样式
canvas.font//设置字体相关样式,包括字号,字体信息。默认值是10px sans-serif。
canvas.textAlign//设置文本水平对齐方式。支持属性值有:start(默认值),end,left,right以及center。
canvas.textBaseline//设置文本基线对齐方式。支持属性值有:top,hanging,middle,alphabetic(默认值),ideographic,bottom。
canvas.direction//设置文本显示方向。支持属性值有:inherit(默认值),ltr和rtl。 填充和描边
canvas.fillStyle//填充样式。默认值是#000000纯黑色。
canvas.fill()//填充。
canvas.strokeStyle//描边样式。默认值是#000000纯黑色。
canvas.stroke()//描边。 渐变相关
canvas.createLinearGradient()//创建线性渐变。
canvas.createRadialGradient()//创建径向渐变。 图案相关
canvas.createPattern()//创建图案。图案内容可以是图片,可以是<canvas>元素,也可以是渐变。此方法返回CanvasPattern对象。 阴影相关
canvas.shadowBlur//阴影模糊大小。默认值是0。
canvas.shadowColor//阴影颜色。默认值是全透明黑色。
canvas.shadowOffsetX//阴影水平偏移大小。默认值是0。
canvas.shadowOffsetY//阴影垂直偏移大小。默认值是0。 绘制路径
canvas.beginPath()//开始一个新路径。
canvas.closePath()//闭合一个路径。
canvas.moveTo()//路径绘制起始点。
canvas.lineTo()//绘制直线到指定坐标点。
canvas.bezierCurveTo()//绘制贝赛尔曲线到指定坐标点。
canvas.quadraticCurveTo()//绘制二次贝赛尔曲线到指定坐标点。
canvas.arc()//绘制圆弧(包括圆)。
canvas.arcTo()//绘制圆弧,和之前的点以直线相连。
canvas.rect()//绘制矩形路径。
canvas.ellipse()//绘制椭圆路径。
canvas.clip()//创建剪裁路径,之后绘制的路径只有在里面的才会显示。 线条样式
canvas.lineWidth//线条宽度,主使用场景是描边,默认宽度是1.0,支持小数。
canvas.lineCap//线条端点的样式。支持如下属性值:butt(默认值,断头,无端帽),round(圆形端帽),square(方形端帽)。
canvas.lineJoin//线条转角的样式。支持如下属性值:miter(默认值,尖角),round(圆角),bevel(平角)。
canvas.miterLimit//尖角限制比率。线条的尖角如果没有限制,在线条粗角度小的情况下会很长很长,因此,需要一个限制比率。默认是10。
canvas.getLineDash()//返回当前虚线数值。返回值是一个偶数个数的数组
canvas.setLineDash()//设置线条为虚线。
canvas.lineDashOffset//设置虚线的起始偏移。 位置检测
canvas.isPointInPath()//当前点是否在指定路径内。
canvas.isPointInStroke()//当前点是否在指定路径描边上。 变换
canvas.rotate()//旋转。
canvas.scale()//缩放。
canvas.translate()//位移。
canvas.transform()//当前矩阵变换基础上再次矩阵变换。
canvas.setTransform()//直接重置为当前设置的矩阵变换。 透明度和层级
canvas.globalAlpha//全局透明度。
canvas.globalCompositeOperation//设置图形叠加时候的混合方式,可以用来改变绘制元素上下叠加关系,也就是层级。 图片与像素
canvas.drawImage()//图片绘制在画布上。
//drawImage 优化: 离屏绘制:
/* 上一节提到,绘制同样的一块区域,如果数据源是尺寸相仿的一张图片,那么性能会比较好,
而如果数据源是一张大图上的一部分,性能就会比较差,因为每一次绘制还包含了裁剪工作。也许,
我们可以先把待绘制的区域裁剪好,保存起来,这样每次绘制时就能轻松很多。
drawImage 方法的第一个参数不仅可以接收 Image 对象,也可以接收另一个 Canvas 对象。
而且,使用 Canvas 对象绘制的开销与使用 Image 对象的开销几乎完全一致。
我们只需要实现将对象绘制在一个未插入页面的 Canvas 中,然后每一帧使用这个 Canvas 来绘制
*/
canvas.createImageData()//创建一个新的空白的ImageData对象。
canvas.getImageData()//获取Canvas画布的设定区域的ImageData对象。
canvas.putImageData()//给定的ImageData对象应用在Canvas画布上。 Canvas状态
Canvas状态管理几个方法。
canvas.save()//存储当前Canvas的状态。
canvas.restore()//恢复Canvas到前一次存储的状态。
canvas.canvas//反向识别当前上下文源自哪个HTMLCanvasElement。 其他方法
其他一些不常用的API方法。
canvas.drawFocusIfNeeded()//如果给定元素被聚焦,则该方法在当前路径周围绘制焦点环。
canvas.scrollPathIntoView()//将当前路径或给定路径滚动到视图中。 CanvasGradient
方法
addColorStop()//给渐变增加新的渐变点 ImageBitmap
属性
height//只读。是无符号长整数,表示ImageBitmap对象的CSS像素高度
width//只读。是无符号长整数,表示ImageBitmap对象的CSS像素宽度
方法
close()//处置所有与ImageBitmap关联的图形资源 ImageData
属性
data//只读。是一个包含RGBA像素信息的Uint8ClampedArray,数组中所有的值都是整数,范围是0~255
height//只读。是无符号长整数,表示ImageData对应的实际像素高度
width//只读。是无符号长整数,表示ImageData对应的实际像素宽度 TextMetrics
属性
width//只读。表示当前文本占据的CSS像素宽度 CanvasImageSource
无暴露属性,无继承方法。 CanvasPattern
无暴露属性,无继承方法。 RenderingContext
无暴露属性,无继承方法。

javascript canvas全部API的更多相关文章

  1. Html5 学习系列(五)Canvas绘图API快速入门(2)

    Canvas绘图API Demos 上一篇文章中,笔者已经给大家演示了怎么快速用Canvas的API绘制一个矩形出来.接下里我会在本文中给各位介绍Canvas的其他API:绘制线条.绘制椭圆.绘制图片 ...

  2. Html5 学习系列(五)Canvas绘图API快速入门(1)

    引言:Canvas绘图API快速入门 在接触HTML5的初学者包括我都在很多地方见到非常炫的一些页面,甚至好多学习HTML5的开发者都是冲着Web端的页游去的,那么HTML5那么绚丽的页面效果以及游戏 ...

  3. 引言:Canvas绘图API快速入门

    引言:Canvas绘图API快速入门 在接触HTML5的初学者包括我都在很多地方见到非常炫的一些页面,甚至好多学习HTML5的开发者都是冲着Web端的页游去的,那么HTML5那么绚丽的页面效果以及游戏 ...

  4. Canvas createRadialGradient API

    Canvas createRadialGradient API <!DOCTYPE html> <html lang="en"> <head> ...

  5. javascript 百度地图API - demo

    <!DOCTYPE html> <html> <head> <meta name="viewport" content="ini ...

  6. 在线聊天室的实现(1)--websocket协议和javascript版的api

    前言: 大家刚学socket编程的时候, 往往以聊天室作为学习DEMO, 实现简单且上手容易. 该Demo被不同语言实现和演绎, 网上相关资料亦不胜枚举. 以至于很多技术书籍在讲解网络相关的编程时, ...

  7. 第二篇、JavaScript常用的API

    下面是我整理的一些JavaScript常用的API清单. 目录 元素查找 class操作 节点操作 属性操作 内容操作 css操作 位置大小 事件 DOM加载完毕 绑定上下文 去除空格 Ajax JS ...

  8. [Javascript] JSON.parse API

    JSON (JavaScript Object Notation) is a standard method to serialize JavaScript objects and is common ...

  9. 【转】NativeScript的工作原理:用JavaScript调用原生API实现跨平台

    原文:https://blog.csdn.net/qq_21298703/article/details/44982547 -------------------------------------- ...

随机推荐

  1. P1828 香甜的黄油 Sweet Butter 最短路 寻找一个点使得所有点到它的距离之和最小

    P1828 香甜的黄油 Sweet Butter 闲来无事 写了三种最短路(那个Floyed是不过的) 题目描述 农夫John发现做出全威斯康辛州最甜的黄油的方法:糖.把糖放在一片牧场上,他知道N(1 ...

  2. cogs 2109. [NOIP 2015] 运输计划 提高组Day2T3 树链剖分求LCA 二分答案 差分

    2109. [NOIP 2015] 运输计划 ★★★☆   输入文件:transport.in   输出文件:transport.out   简单对比时间限制:3 s   内存限制:256 MB [题 ...

  3. github 关掉邮件通知

  4. Java入门 - 语言基础 - 09.循环结构

    原文地址:http://www.work100.net/training/java-loop.html 更多教程:光束云 - 免费课程 循环结构 序号 文内章节 视频 1 概述 2 while循环 3 ...

  5. 软件工程概论 网站开发要掌握的技术 &登录界面

    1.网站系统开发需要掌握的技术 一.界面和用户体验(Interface and User Experience) 1.1 知道如何在基本不影响用户使用的情况下升级网站.通常来说,你必须有版本控制系统( ...

  6. 「 从0到1学习微服务SpringCloud 」10 服务网关Zuul

    系列文章(更新ing): 「 从0到1学习微服务SpringCloud 」06 统一配置中心Spring Cloud Config 「 从0到1学习微服务SpringCloud 」07 RabbitM ...

  7. Java基础语法面试题50题整理(带答案)

    嗯,之前某些原因整理了这份面试题,加油生活 (:   0,嗯,先做简单的,那个不对() 1,int [] sy = {0,9,2,3}; 2,int [] sy1 = new int[4]; 3,in ...

  8. sas9.2 windows7系统 10年11月后 建立永久数据集时,提示:“用户没有与逻辑库相应的授权级别

    先把你这个逻辑库删掉,在桌面创立空的新文件夹,然后用这个新文件夹在sas里新建逻辑库,名字照旧,再把你要的数据放进空文件夹就好了

  9. Git基础常用功能

    一.安装 具体查看 安装Git 二.使用 基础知识 工作区(Workspace):就是你在电脑里能看到的项目目录. 暂存区(Index / Stage):临时存放更改的地方,使用命令"git ...

  10. docker 简单使用

    1.docker 命令 docker start nginx https://www.w3cschool.cn/docker/windows-docker-install.html // docker ...