我们在使用canvas时需要设置画布的大小,即设置canvas标签的width,height属性。
<canvas width="200px" height="200px"></canvas>
在移动端,画布的大小要根据屏幕的大小进行适配,我们一般采用rem结合媒体查询的方式。使用canvas时就遇到遇到一些问题:
canvas的width属性不支持rem单位(如果使用样式当然支持rem,但注意canvas的width属性与style中的width是有区别的),如下
<canvas width="2.5rem" height="2.5rem"></canvas>
translate
方法传参是坐标位置,不带单位,如ctx.translate(10,10)
;
适配屏幕是必须的,但如何解决?用最原始的百分比布局就可以:
//获取屏幕的宽度
var clientWidth = document.documentElement.clientWidth;
//根据设计图中的canvas画布的占比进行设置
var canvasWidth = Math.floor(clientWidth*200/720);
canvas.setAttribute('width',canvasWidth+'px');
canvas.setAttribute('height',canvasWidth+'px');
//translate方法也可以直接传入像素点坐标
本文地址:https://www.zhuimengzhu.com/content/article/326.html
转载地址:暂无
转载说明: 转载时请在文首注明来源zhuimengzhu.com 及教程作者,并附本文链接。谢谢各位编辑同仁配合。zhuimengzhu 保留追究相应责任的权利。
QQ登录
微信登录