<canvas> - HTML(超文本标记语言) 编辑

<canvas>元素可被用来通过JavaScript(Canvas API 或 WebGL API)绘制图形及图形动画。

属性

本元素支持 全局属性.

height
该元素占用空间的高度,以 CSS 像素(px)表示,默认为 150。
moz-opaque
通过设置这个属性,来控制canvas元素是否半透明。如果你不想canvas元素被设置为半透明,使用这个元素将可以优化浏览器绘图性能。
width
该元素占用空间的宽度,以 CSS 像素(px)表示,默认为 300。

注意事项

标签需要闭合

不同于 <img> 元素,  <canvas>元素需要有闭合标签 (</canvas>).

设置画布(canvas)的大小

直接在html标签中设置width和height属性或者使用JavaScript来指定画布尺寸,这将改变一个画布的水平像素和垂直像素数,就像定义了一张图片的大小一样。

可以使用CSS的width和height以在渲染期间缩放图像以适应样式大小,就像<img>元素一样。如果您发现<canvas>元素中展示的内容变形,您可以通过<canvas>自带的height和width属性进行相关设置,而不要使用CSS。

最大的画布尺寸

画布的最大的尺寸取决于浏览器,下表的结论来自别处 (e.g. Stack Overflow):

浏览器最大高度最大宽度最大面积
Chrome32,767 pixels32,767 pixels268,435,456 pixels (i.e., 16,384 x 16,384)
Firefox32,767 pixels32,767 pixels472,907,776 pixels (i.e., 22,528 x 20,992)
Safari32,767 pixels32,767 pixels268,435,456 pixels (i.e., 16,384 x 16,384)
IE8,192 pixels8,192 pixels?

示例

HTML

<canvas id="canvas" width="300" height="300">
  抱歉,您的浏览器不支持canvas元素
  (这些内容将会在不支持<canvas>元素的浏览器或是禁用了JavaScript的浏览器内渲染并展现)
</canvas>

JavaScript

使用HTMLCanvasElement.getContext()获得一个绘图上下文并开始绘制

var canvas = document.getElementById('canvas');
var ctx = canvas.getContext('2d');
ctx.fillStyle = 'green';
ctx.fillRect(10, 10, 100, 100);

结果

可访问性

<canvas> 元素本身只是一个位图,不提供任何绘制对象的信息。画布内容不像HTML那样具有语义并能暴露给可访问性工具。以下指南可以帮助您更方便地访问它。

规范

SpecificationStatusComment
HTML Living Standard
<canvas>
Living Standard
HTML5
<canvas>
Recommendation初始定义

Browser compatibility

BCD tables only load in the browser

The compatibility table in this page is generated from structured data. If you'd like to contribute to the data, please check out https://github.com/mdn/browser-compat-data and send us a pull request.

参阅

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据

词条统计

浏览:137 次

字数:7547

最后编辑:8年前

编辑次数:0 次

    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文