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

你可能感兴趣的文章
post为什么会发送两次请求?
查看>>
Post表单提交TextArea的值出现转译乱码问题 - Spring MVC处理表单提交
查看>>
Power BI 中的 Python 可视化需要什么设置?任何特定的 matplotlib 包版本或系统设置?
查看>>
Power BI:如何在 Power Query 编辑器中将 Python 与多个表一起使用?
查看>>
power english (3) main text -emotion mastery - focus
查看>>
POWER ENGLISH (6) - MODEL
查看>>
power english (1) —— passion
查看>>
Power English (1) 原文
查看>>
power English (3)原文
查看>>
POWER ENGLISH(7)- repetition
查看>>
SpringBoot中集成SpringBatch详细解析与实战示例(CSV文件读取十万条数据进行业务处理后写入Mysql数据库)
查看>>
powerbi 一张表在另外一张表中出现的数量_PowerBi之初步学习笔记
查看>>
QGIS怎样设置简体中文以及新建可编辑的多边形的图层
查看>>
PowerBuilder 使用自定义事件触发键盘Enter事件
查看>>
PowerCreatorCMS UploadResourcePic 任意文件上传漏洞复现
查看>>
PowerDesigner 使用的一些技巧(转)
查看>>
QGIS在Windows上下载安装与建立空间数据库连接
查看>>
PowerDesigner165安装婆姐汉花教程
查看>>
PowerDesigner使用教程:设置注释、默认值属性
查看>>
PowerDesigner使用教程:不显示背景网格
查看>>