博客
关于我
《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基础 | 关于“循环”那些事
查看>>
python系列【仅供参考】:python 远程rdp
查看>>
python基于flask搭建http服务(四)—— Docker容器化部署
查看>>
Python块键盘/鼠标输入
查看>>
python在使用HTMLTestRunner时,报告为空,错误提示<_io.TextIOWrapper name='<stderr>' mode='w' encoding='utf_8'>...
查看>>
python在gpu上运行_【python】python开启GPU加速
查看>>
Python在def函数中使用for循环
查看>>
Python在def函数中使用for循环
查看>>
Python在Conda环境中,但在Windows虚拟环境中没有激活
查看>>
python系列【仅供参考】:python pip 错误 ModuleNotFoundError: No module named pip._internal 解决办法
查看>>
python图像条状状噪声,使用PYTHON PIL从验证码图像中删除背景嘈杂的线条
查看>>
Python图像处理:从内存加载jpeg
查看>>
python固定后缀(名物化词汇)词频统计:抽取+统计+可视化
查看>>
python商品评论数据采集与分析可视化系统 Flask框架 requests爬虫 NLP情感分析 毕业设计 源码
查看>>
python商品数据分析可视化系统(带爬虫)京东销售数据分析 计算机毕业设计 源码下载
查看>>
python商品库存管理系统 django框架 商品网站 MySQL数据库 源码下载 计算机毕业设计
查看>>
Python哪个版本最稳定好用2023.10.19
查看>>
Python和黑客技术的渊源
查看>>
Python和RF编写接口自动化
查看>>
python和js哪个难_【Python】记一次学习,Python 与 js 在实现闭包时的差异
查看>>