在写demo练习canvas画图时,新建一个canvas画布,先将宽高写在了css中,没有在canvas标签中设定宽高,得到的效果是错误的,代码及效果如下,
正确的情况是一条45度倾斜从(10,10)到(200,200)的直线,但是显示的效果变形了。查阅资料找到了原因。
<canvas >中有默认宽高300px*150px,如果在<canvas>标签中没有设定宽高,那么浏览器就会取默认值并进行拉伸,实际上我们在css中定义的宽高并没有生效,所以会出现变形的情况。
正确的写法应该是在<canvas>中设定所需宽高。
还有一种写法是使用HTML5 Canvas API操作。
注意不要写成drawing.style.width,那样等于是设置了css,仍然会被拉伸。canvas画布宽高只能通过数值设定,不能使用百分比,也不需要单位。