博客
关于我
《HTML 画布》
阅读量:250 次
发布时间:2019-03-01

本文共 1925 字,大约阅读时间需要 6 分钟。

HTML5 Canvas 参考手册

描述

HTML5 <canvas> 标签用于通过脚本(通常是 JavaScript)绘制图像。虽然 <canvas> 元素本身没有绘图能力,但需要使用脚本来实现绘图任务。可以通过 getContext() 方法获取一个用于绘图的对象,该对象提供了绘制文本、线条、矩形、圆等多种元素的方法和属性。

浏览器支持

  • Internet Explorer 9 及更高版本支持 <canvas> 标签。
  • Firefox、Opera、Chrome 和 Safari 也提供完整的支持。
  • 注意:IE 8 及更早版本不支持 <canvas> 元素。

颜色、样式和阴影

以下是常用的属性和方法:

属性 描述
fillStyle 设置或返回用于填充绘图的颜色、渐变或模式。
strokeStyle 设置或返回用于绘制线条的颜色、渐变或模式。
shadowColor 设置或返回阴影的颜色。
shadowBlur 设置或返回阴影的模糊度。
shadowOffsetX 设置或返回阴影与形状的水平距离。
shadowOffsetY 设置或返回阴影与形状的垂直距离。
方法 描述
createLinearGradient 创建线性渐变(用于画布内容)。
createPattern 在指定方向上重复指定的元素。
createRadialGradient 创建放射状/环形渐变(用于画布内容)。
createGradient 设置渐变对象的颜色和停止位置。

线条样式

属性 描述
lineCap 设置或返回线条的结束端点样式。
lineJoin 设置或返回两条线相交时的拐角类型。
lineWidth 设置或返回当前线条的宽度。
lineCap 设置或返回线条的最大斜接长度。

矩形

方法 描述
fillRect 绘制"被填充"的矩形。
strokeRect 绘制矩形(无填充)。
clearRect 在给定的矩形内清除指定的像素。

路径

方法 描述
fill 填充当前绘图(路径)。
stroke 绘制已定义的路径。
resetPath 起始一条路径,或重置当前路径。
moveTo 把路径移动到画布中的指定点,不创建线条。
closePath 创建从当前点回到起始点的路径。
lineTo 添加一个新点,并在画布中创建从该点到最后指定点的线条。
cut 剪切任意形状和尺寸的区域。
bezierCurveTo 创建二次贝塞尔曲线。
bezierCurveTo 创建三次贝塞尔曲线。
arc 创建弧/曲线(用于创建圆形或部分圆)。
arcTo 创建两切线之间的弧/曲线。
isPointInPath 检查指定的点是否位于当前路径中。

转换

方法 描述
scale 缩放当前绘图至更大或更小。
rotate 旋转当前绘图。
transform 重新映射画布上的 (0,0) 位置。
setTransform 替换绘图的当前转换矩阵。
resetTransform 将当前转换重置为单位矩阵,然后运行 transform()

文本

属性 描述
font 设置或返回文本内容的当前字体属性。
textAlign 设置或返回文本内容的当前对齐方式。
textBaseline 设置或返回在绘制文本时使用的当前文本基线。
方法 描述
fillText 在画布上绘制"被填充"的文本。
strokeText 在画布上绘制文本(无填充)。
measureText 返回包含指定文本宽度的对象。

图像绘制

方法 描述
drawImage 向画布上绘制图像、画布或视频。

像素操作

属性 描述
width 返回 ImageData 对象的宽度。
height 返回 ImageData 对象的高度。
data 返回一个对象,其包含指定的 ImageData 对象的图像数据。
方法 描述
getImageData 获取画布上指定矩形的像素数据。
putImageData 将图像数据(从指定的 ImageData 对象)放回画布上。
createImageData 创建新的、空白的 ImageData 对象。

合成

属性 描述
globalAlpha 设置或返回绘图的当前 alpha 或透明值。
globalCompositeOperation 设置或返回新图像如何绘制到已有的图像上。

其他

方法 描述
save() 保存当前环境的状态。
restore() 返回之前保存过的路径状态和属性。
createEvent() 创建自定义事件。
getContext() 获取当前画布的上下文对象。
toDataURL() 将画布内容转换为DataURL格式。

转载地址:http://jsyt.baihongyu.com/

你可能感兴趣的文章
Netty原理分析及实战(四)-客户端与服务端双向通信
查看>>
Netty客户端断线重连实现及问题思考
查看>>
Netty工作笔记0006---NIO的Buffer说明
查看>>
Netty工作笔记0007---NIO的三大核心组件关系
查看>>
Netty工作笔记0011---Channel应用案例2
查看>>
Netty工作笔记0013---Channel应用案例4Copy图片
查看>>
Netty工作笔记0014---Buffer类型化和只读
查看>>
Netty工作笔记0020---Selectionkey在NIO体系
查看>>
Vue踩坑笔记 - 关于vue静态资源引入的问题
查看>>
Netty工作笔记0025---SocketChannel API
查看>>
Netty工作笔记0027---NIO 网络编程应用--群聊系统2--服务器编写2
查看>>
Netty工作笔记0050---Netty核心模块1
查看>>
Netty工作笔记0057---Netty群聊系统服务端
查看>>
Netty工作笔记0060---Tcp长连接和短连接_Http长连接和短连接_UDP长连接和短连接
查看>>
Netty工作笔记0063---WebSocket长连接开发2
查看>>
Netty工作笔记0070---Protobuf使用案例Codec使用
查看>>
Netty工作笔记0077---handler链调用机制实例4
查看>>
Netty工作笔记0084---通过自定义协议解决粘包拆包问题2
查看>>
Netty工作笔记0085---TCP粘包拆包内容梳理
查看>>
Netty常用组件一
查看>>