博客
关于我
《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/

你可能感兴趣的文章
NSDateFormatter的替代方法
查看>>
NSError 的使用方法
查看>>
NSGA-Ⅲ源代码
查看>>
nsis 安装脚本示例(转)
查看>>
NSJSON的用法(oc系统自带的解析方法)
查看>>
nslookup 的基本知识与命令详解
查看>>
NSOperation基本操作
查看>>
NSRange 范围
查看>>
NSSet集合 无序的 不能重复的
查看>>
NSURLSession下载和断点续传
查看>>
NSUserdefault读书笔记
查看>>
NS图绘制工具推荐
查看>>
NT AUTHORITY\NETWORK SERVICE 权限问题
查看>>
NT symbols are incorrect, please fix symbols
查看>>
ntelliJ IDEA 报错:找不到包或者找不到符号
查看>>
NTFS文件权限管理实战
查看>>
ntko web firefox跨浏览器插件_深度比较:2019年6个最好的跨浏览器测试工具
查看>>
ntko文件存取错误_苹果推送 macOS 10.15.4:iCloud 云盘文件夹共享终于来了
查看>>
ntp server 用法小结
查看>>
ntpdate 通过外网同步时间
查看>>