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

你可能感兴趣的文章
python中execute是啥_python – 为什么“c.execute(…)”打破循环?
查看>>
python中exit和break区别_Python中exit()和sys.exit()之间的区别
查看>>
python中h5的用法
查看>>
python中http协议编程_HTTP编程
查看>>
python中import os_Python:相对导入与绝对导入(import)、os.path、__file__
查看>>
python中is和==操作符
查看>>
Python中range对象的使用以及打印九九乘法表
查看>>
Python中set.discard和set.remove方法之间的运行时差异?
查看>>
python中tkinter中value_输入字段中的python Tkinter get()值
查看>>
Python中wx.FlexGridSizer
查看>>
Python中xPath技术和BeautifulSoup的使用
查看>>
python中yield的用法详解——最简单,最清晰的解释
查看>>
python中‘set.intersection()‘的算法是什么?
查看>>
Python中一个图形中的多个绘图
查看>>
python中一个好的持久同步队列
查看>>
Python中不准确的对数
查看>>
python中什么是实例方法_在Python中创建实例方法对象的不同方法
查看>>
Python中使用cutecharts实现简单的手绘风格的图表
查看>>
python中使用dxfgrabber,解析dxf文件信息生成obj文件
查看>>
Python中使用ncmbot玩转网易云音乐
查看>>