首页 > web前端 > js教程 > 正文

javascript的canvas是什么_如何绘制图形?

紅蓮之龍
发布: 2025-12-14 20:38:03
原创
759人浏览过
Canvas 是 HTML 提供的命令式绘图元素,需通过 JavaScript 的 2D 上下文(getContext('2d'))调用 fillRect、arc 等方法绘制图形,并设置 fillStyle、strokeStyle 等样式属性;清空画布可用 canvas.width = canvas.width 或 clearRect。

javascript的canvas是什么_如何绘制图形?

Canvas 是 HTML 中的一个绘图元素,本身不画东西,而是提供一块“空白画布”和一套 JavaScript 接口,让你用代码控制像素、绘制图形、做动画甚至处理图像。

它不是 SVG,不生成 DOM 节点;也不是 div + CSS,不能靠样式堆出图形——它是命令式绘图:你告诉它“从哪开始、画什么、怎么填”,它就照做。

怎么启用 canvas?

先在 HTML 里放一个 <canvas></canvas> 标签,指定宽高(最好用 width/height 属性,别只靠 CSS 缩放):

<canvas id="myCanvas" width="400" height="300"></canvas>
登录后复制

然后用 JS 获取上下文(2D 绘图用 getContext('2d')):

const canvas = document.getElementById('myCanvas');<br>const ctx = canvas.getContext('2d');
登录后复制

怎么画基本图形?

所有绘制都通过 ctx 对象调用方法。记住两个关键步骤:描边(stroke)填充(fill),很多图形默认只描边,不填色就看不见。

立即学习Java免费学习笔记(深入)”;

Musho
Musho

AI网页设计Figma插件

Musho 76
查看详情 Musho
  • 画矩形:直接用 fillRect(x, y, width, height)strokeRect(...)
  • 画路径(线、三角形、圆弧等):先 beginPath(),再用 moveTo()lineTo()arc() 等“画线”,最后 stroke()fill()
  • 画圆:用 arc(x, y, radius, startAngle, endAngle),注意角度单位是弧度(比如 π 就是 Math.PI),画完要 closePath() 才能正确填充

怎么设置颜色和样式?

这些属性在绘制前设好,影响后续所有操作:

  • ctx.fillStyle = '#ff6b6b' —— 填充色(矩形 fill / 路径 fill)
  • ctx.strokeStyle = 'blue' —— 描边色(strokeRect / stroke)
  • ctx.lineWidth = 2 —— 描边粗细
  • ctx.lineCap = 'round' —— 线端样式('butt'/'round'/'square')
  • ctx.globalAlpha = 0.7 —— 整体透明度(0~1)

怎么清空画布?

最可靠的方式是重设宽高(会清空并重置所有样式):

canvas.width = canvas.width; // 简洁写法,触发重置
登录后复制

或者用 clearRect(0, 0, canvas.width, canvas.height),但不会重置线条宽度、颜色等状态。

基本上就这些。canvas 不复杂,但容易忽略路径管理(比如忘了 beginPath() 导致图形连在一起)和坐标系原点(左上角)。多练几次矩形、线条、圆,后面画图表、游戏、滤镜就顺了。

以上就是javascriptcanvas是什么_如何绘制图形?的详细内容,更多请关注php中文网其它相关文章!

java速学教程(入门到精通)
java速学教程(入门到精通)

java怎么学习?java怎么入门?java在哪学?java怎么学才快?不用担心,这里为大家提供了java速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!

下载
来源:php中文网
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
开源免费商场系统广告
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号