canvas绘图需先创建画布并正确获取2d上下文,html中width/height必须用属性设置而非css,javascript须等dom就绪后获取元素和ctx,小程序还需按dpr缩放画布并调用scale。

Canvas绘图必须先有画布,再拿到“画笔”——也就是2D绘图上下文(context),缺一不可。关键不是写了<canvas></canvas>标签就完事,而是要确保尺寸正确、DOM就绪、上下文获取无误。
HTML中声明画布,宽高必须用属性设置
在HTML里添加<canvas></canvas>标签时,width和height必须作为HTML属性写在标签内,比如:
<canvas id="myCanvas" width="500" height="300"></canvas>
不能靠CSS设置宽高,否则画布会拉伸变形——这是最常踩的坑。
建议加上备用文字,提示不支持Canvas的用户:
- 在
<canvas></canvas>标签内部写提示语,如“您的浏览器不支持Canvas” - 加个边框样式方便调试:
style="border:1px solid #ccc;"
JavaScript中安全获取Canvas元素和Context
必须等DOM加载完成后再操作,否则getElementById可能返回null。推荐做法:
- 把脚本放在










